【发布时间】:2019-06-20 21:14:42
【问题描述】:
我想有一个简单的方法可以解决这个问题,但我看不清楚。
每次我更改表格中的任何单元格时,都会触发以下代码:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Target.Worksheet.Range("A:S")) Is Nothing Then
copy_column
End Sub
此代码运行我的copy_column 宏(将一些列从我的原始工作表复制到另一个工作表)。发生第一个代码是因为我想在原始工作表更改时自动更新目标工作表。
Sub copy_column()
Set origem = Sheets("FUNCIONÁRIOS").Range("A4:C1040000")
Set destino = Sheets("BASE_TOTAL").Range("A2")
origem.Copy
destino.PasteSpecial Paste:=xlPasteValues
Set origem_subs = Sheets("FUNCIONÁRIOS").Range("S4:S1040000")
Set destino_subs = Sheets("BASE_TOTAL").Range("J2")
origem_subs.Copy
destino_subs.PasteSpecial Paste:=xlPasteValues
Set origem_ini_fer = Sheets("FUNCIONÁRIOS").Range("L4:L1040000")
Set destino_ini_fer = Sheets("BASE_TOTAL").Range("H2")
origem_ini_fer.Copy
destino_ini_fer.PasteSpecial Paste:=xlPasteValues
Set origem_fim_fer = Sheets("FUNCIONÁRIOS").Range("P4:P1040000")
Set destino_fim_fer = Sheets("BASE_TOTAL").Range("I2")
origem_fim_fer.Copy
destino_fim_fer.PasteSpecial Paste:=xlPasteValues
End Sub
当我的宏完成时,它会让最后一个复制的列像这样选择:
有没有办法在最后取消选择该列?
【问题讨论】:
-
录制宏时按退出键。它会给你
application.cutcopymode = false -
有几种方法。您可以简单地通过
Cells(1,1).Select选择A1或Application.CutCopyMode = False