我创建了具有多个工作表的工作簿,我正在尝试在Sheet1
上使用WorkSheet_Change,即sheet1上的某些更改被复制到sheet2。同样,如果有任何更改为Sheet2
,我也希望对Sheet1
进行类似的更改。
这样做会在两张表上都有递归调用,请告诉我如何避免这种情况。
答案 0 :(得分:6)
调用宏时禁用事件:
Sub Donot_Fire_Events()
Application.EnableEvents = False
' Coding to skip these events
Application.EnableEvents = True
End Sub
答案 1 :(得分:1)
在模块中放置一个新的全局变量,并将其称为bAutoUpdating As Boolean
。
当_Change代码运行时,应将其设置为true
。如果这是true
,任何更改例程都应该不。在每个_Change例程结束时,设置回bAutoUpdating = false