VBAの処理が重い・遅いと感じる時があると思います。さらに酷い状態になると「応答なし」と表示されExcelが固まってしまった経験もあるのではないでしょうか?このような状態を回避するために「簡単に」処理速度を改善する方法を紹介します。
今回紹介する高速化テクニックは、「コードがスパゲッティ状態のためデグレが怖くて修正できない」「前任者が作成したコードのた内容が全くわからない」など、コードが触れないような既存のVBAでも、コード修正量を最小限におさえて「簡単に」処理速度を改善する方法の紹介となります。
処理速度改善方法
VBA開始時と終了時に3行のコードをそれぞれ追加するのみです。VBA処理内容によっては、うまく動かない場合もあるかと思います。その場合は、対となるコードを1行づつ削除して試してみてください。
VBA開始時に追加するコードは以下となります。
Application.Calculation = xlCalculationManual '数値の自動計算をOFF
Application.EnableEvents= False 'イベントの発生をOFF
Application.ScreenUpdating = False '画面表示の更新をOFF
VBA終了時に追加するコードは以下となります。
Application.Calculation = xlCalculationAutomatic '数値の自動計算をON
Application.EnableEvents= True 'イベントの発生をON
Application.ScreenUpdating = True '画面表示の更新をON