tyoshikawa1106のブログ

- Force.com Developer Blog -

VBA:処理の効率化

ブックやシートに入力する仕様の場合は、処理開始時に数式の再計算と画面の再描画を無効にすると効率が良くなります。

処理終了時には有効にするのを忘れないこと。

 

画面更新の停止

Application.ScreenUpdating = False

画面更新の再開

Application.ScreenUpdating = True

式の再計算を停止

ActiveSheet.EnableCalculation = False

式の再計算を再開

ActiveSheet.EnableCalculation = True

 

ちなみに更新を実行する場合は次の方法もあるようです。

ActiveSheet.Calculate

 

オブジェクト型を使用する場合の注意

オブジェクト変数は処理後に開放する必要がある。

Set docObj = Nothing

解放しないとメモリに残ったままになる為、PCが重くなってしまいます。

対象によっては解放する為のメソッドもあるかも。