2013-09-29 87 views
4

我正在開發一個Excel 2010工作簿,處於手動公式計算模式。Excel vba - 禁用鼠標事件

文件 - >選項 - >配方 - >工作簿計算 - >手工

不過,我想某些菜單選項,以使工作簿的重新計算。

所以我使用以下代碼:

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不會阻止鼠標事件被解僱,我無法找到任何可以防止此錯誤的方法。

因此,我需要的是在計算過程中阻止所有事件,或者以某種方式阻止觸發事件中斷計算(就像工作簿公式計算不是手動時那樣)。

非常感謝您的幫助!

謝謝。

馬坦。

回答

5

試試這個:

Application.Interactive = False 

而宏觀運行。完成後將其重新轉換爲真。

+0

嗯,這工作!非常感謝你的幫助......瑪坦。 –