我想有一個簡單的方法可以解決這個問題,但我看不清楚。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