我一直在研究如何在Excel VBA中加速我的代码,我遇到了以下有用的设置.我的问题是:是否可以将以下代码行设置为一个变量,我可以将其设置为On或Off以激活整个列表?就是这样的
speedUpCode = On
将设置以下所有设置,如果设置为Off,则会将以下所有内容反转为True/xlCalculationAutomatic
With Application .ScreenUpdating = False .DisplayStatusBar = False .Calculation = xlCalculationManual .EnableEvents = False End With ActiveSheet.DisplayPageBreaks = False 'note this is a sheet-level setting
Tim Williams.. 7
我用它(非常基本):
Sub GoFast(Optional bYesNo As Boolean = True) With Application .ScreenUpdating = Not bYesNo .Calculation = IIf(bYesNo, xlCalculationManual, xlCalculationAutomatic) End With End Sub
调用True
或不调用参数来加快速度,然后False
重置.
上面的评论关于可能捕获各种设置的当前状态,以便您可以回到"原始"状态,并且并非所有设置总是适合更新,具体取决于您正在做的事情都值得考虑.
我用它(非常基本):
Sub GoFast(Optional bYesNo As Boolean = True) With Application .ScreenUpdating = Not bYesNo .Calculation = IIf(bYesNo, xlCalculationManual, xlCalculationAutomatic) End With End Sub
调用True
或不调用参数来加快速度,然后False
重置.
上面的评论关于可能捕获各种设置的当前状态,以便您可以回到"原始"状态,并且并非所有设置总是适合更新,具体取决于您正在做的事情都值得考虑.