禁用工作表更新

禁用工作表的計算可以顯著減少巨集的執行時間。此外,禁用事件,螢幕更新和分頁符將是有益的。以下 Sub 可以在任何巨集中用於此目的。

Sub OptimizeVBA(isOn As Boolean)
    Application.Calculation = IIf(isOn, xlCalculationManual, xlCalculationAutomatic)
    Application.EnableEvents = Not(isOn)
    Application.ScreenUpdating = Not(isOn)
    ActiveSheet.DisplayPageBreaks = Not(isOn)
End Sub

有關優化,請遵循以下虛擬碼:

Sub MyCode()
    
    OptimizeVBA True

    'Your code goes here

    OptimizeVBA False

End Sub