我遇到了一个奇怪的事件行为,我不明白。请帮忙。以下是对问题的解释。
以下是代码的快照:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Main code
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
Application.EnableEvents = True
Exit Sub
Private Sub Worksheet_Calculate() 'triggered without any reason?
... 'code here
exit sub
所以问题是:如何在代码结束后立即触发 Worksheet_Calculate 事件? Application.EnableEvents = True 之后没有任何内容可以触发此事件。
谢谢你的帮助。我不明白这个。
我一直在思考和测试。这种行为可能没有任何问题。
这两个事件都是同时触发的,它必须选择一个代码才能在另一个代码之前运行。 main code
内的Private Sub Worksheet_Change(ByVal Target As Range)
不会触发Private Sub Worksheet_Calculate()
。后者排队等待轮到他了。
答案 0 :(得分:1)
答案 1 :(得分:0)
您可以应用此处提到的Skip_update方法:VBA Worksheet change event bypass?我发现当您关闭它时,事件仍会触发,这一点非常奇怪。