Excel vba – 禁用鼠标事件

我正在开发Excel 2010工作簿,处于手动公式计算模式。

文件 – >选项 – >公式 – >工作簿计算 – >手动

但是,我想要一些菜单选项来重新计算工作簿。

所以我使用下面的代码:

Private Sub Worksheet_Change(ByVal Target As Range) On Error Resume Next Application.EnableEvents = False If SOME_CONDITION Application.Calculate ActiveSheet.AutoFilter.ApplyFilter End If Application.EnableEvents = True End Sub 

问题是,如果我正在滚动鼠标中键,或者在执行该函数时单击一个单元格,计算会在完成之前突然终止,这是不可接受的。

看起来Application.EnableEvents=False行不会阻止鼠标事件被触发,而且我也无法find任何可以防止这个bug的方法。

因此,我需要的是在计算过程中阻止所有事件的方法,或者以某种方式防止触发的事件中断计算(就像工作簿公式计算不是手动时那样)。

非常感谢您的帮助!

谢谢。

马坦。

尝试这个:

 Application.Interactive = False 

macros正在运行。 完成后将其重新设置为true。