我想有一个简单的方法可以解决这个问题,但我看不清楚。excel:运行宏后取消选择范围
每次我改变任何单元格在我的片它会触发下面这段代码:
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' – Vityata
有几种方法。你可以简单地使用'Cells(1,1).Select'来选择'A1',或者'Application.CutCopyMode = False' – BruceWayne