How to exit Macro
这是我的代码。我正在从一张纸上阅读,然后在另一张纸上搜索该术语。如果搜索找到匹配项,它将复制整行并将其粘贴到第一张纸上。搜索,复制和粘贴工作。我没有收到错误,但是好像宏没有停止,因为Excel不允许我单击宏读取的原始单元格。我是否缺少应结束宏的代码行?理想情况下,它应该只是在粘贴之后结束宏。
我从另一个线程删除了代码:
如何将复制的行从一张纸粘贴到另一张纸
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | Sub Ref() Dim rng1 As Range Dim rng2 As Range If Range("A11") ="SELECT" Then Else Set rng1 = Worksheets("MAIN").Range("A11") For Each rng2 In Worksheets("REF").Range("A11:A2000") If rng1 = rng2(1).Value Then rng2.EntireRow.Copy rng1.EntireRow.PasteSpecial (xlPasteFormulas) Exit For End If Next rng2 End If End Sub |
这是我称为宏的地方
1 2 3 | Private Sub Worksheet_Selection_Change(ByVal Target As Range) Call Ref End Sub |
预先感谢您
您需要阻止粘贴重新触发更改事件:
1 2 3 4 5 | ... Application.EnableEvents=False rng1.EntireRow.PasteSpecial (xlPasteFormulas) Application.EnableEvents=True ... |
编辑:您可能应该使用
1 2 3 4 5 6 7 | Private Sub Worksheet_Change(ByVal Target As Range) If not application.intersect(me.range("A11"),Target) is nothing then Application.EnableEvents=False Call Ref Application.EnableEvents=True End if End Sub |