2008-09-27 31 views

回答

14

我同時使用所提出的解決方案:

Application.ScreenUpdating = False 
Application.Calculation = xlCalculationManual 
... 
... 
... 
Application.Calculation = xlCalculationAutomatic 
Application.ScreenUpdating = True 
0

您可以在選項對話框中關閉自動計算,它將其設置爲只在您按F9時計算。

+0

我只有宏觀運行時我執行它,所以我在這方面很好,但我不想看周圍的數據(由宏指定)Excel中複製,只最終結果 – Oskar 2008-09-27 18:05:42

2

Application.ScreenUpdating =假

當然,並將其設置回爲True再次當您完成後,即使出現錯誤。 例子:

Public Sub MyMacro 
    On Error GoTo ErrHandler 
    Application.ScreenUpdating = False 
    ... do my stuff that might raise an error 
    Application.ScreenUpdating = True 
    Exit Sub 
ErrHandler: 
    Application.ScreenUpdating = True 
    ... Do something with the error, e.g. MsgBox  
End Sub 
+0

如何確保在發生錯誤後能夠恢復? – Oskar 2008-09-27 18:08:46

1

在喬和SEER大廈(該使用舊的語法,所以它與Office 2000的VBA兼容):

On Error Goto AfterCalculation 
Application.ScreenUpdating = False 
Application.Calculation = xlCalculationManual 
... 

AfterCalculation: 
Application.Calculation = xlCalculationAutomatic 
Application.ScreenUpdating = True 
2

我也傾向於使用兩種建議的解決方案,即 ,但也保留用戶以前的計算模式。

對於這個特定的應用程序,這可能是根本不算什麼, 但它通常是讓用戶有你的程序結束後恢復其設置的最佳實踐:

Application.ScreenUpdating = False 
PreviousCalcMode = Application.Calculation 
Application.Calculation = xlCalculationManual 
    ... 
    ... 
    ... 
Application.Calculation = PreviousCalcMode 
Application.ScreenUpdating = True 

NB。如果在你的其他代碼中出現錯誤,插入一些可以打開Application.ScreenUpdating的錯誤處理也是值得的。) 如果內存爲我服務,當ScreenUpdating = false時,Excel不會顯示任何錯誤消息等。 事情是這樣的:

Sub DoSomeThing 


On Error Goto DisplayError 

Application.ScreenUpdating = False 
PreviousCalcMode = Application.Calculation 
Application.Calculation = xlCalculationManual 
    ... 
    ... 
    ... 
Application.Calculation = PreviousCalcMode 
Application.ScreenUpdating = True 

Exit Sub 

DisplayError: 
Application.Calculation = PreviousCalcMode 
Application.ScreenUpdating = True 

MsgBox Err.Description 
End 'This stops execution of macro, in some macros this might not be what you want' 
    '(i.e you might want to close files etc)' 
End Sub 
相關問題