禁用工作表更新

禁用工作表的计算可以显着减少宏的运行时间。此外,禁用事件,屏幕更新和分页符将是有益的。以下 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