5

我正在以手动公式计算模式开发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并不能阻止鼠标事件被触发,而且我无法找到任何可以防止此错误的替代方法。

所以我需要的是一种在计算期间阻止所有事件的方法,或者以某种方式防止触发的事件中断计算(因为它是在工作簿公式计算不是手动的时候)。

非常感谢您的帮助!

谢谢。

马坦。

4

1 回答 1

7

试试这个:

Application.Interactive = False 

宏运行时。完成后将其恢复为真。

于 2013-09-29T20:43:46.980 回答