我正在开发一个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
并不能阻止鼠标事件被触发,而且我无法找到任何替代方法来阻止此错误。
因此,我需要的是一种在计算过程中阻止所有事件的方法,或者以某种方式防止触发的事件扰乱计算(因为工作簿公式计算不是手动的)。
非常感谢您的帮助!
Thanks.
Matan.
尝试这个:
Application.Interactive = False
当宏运行时。完成后将其恢复为 true。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)