Excel vba - 禁用鼠标事件

时间:2013-09-29 19:32:24

标签: excel vba events

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

  

file - >选项 - >公式 - >工作簿计算 - >手册

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

所以我使用以下代码:

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不会阻止鼠标事件被触发,我无法找到任何可以防止此错误的替代方法。

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

非常感谢你的帮助!

感谢。

马坦。

1 个答案:

答案 0 :(得分:7)

试试这个:

Application.Interactive = False 

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