Excel:マクロの高速化

マクロの実行速度を早くする処理について、

'処理速度を早くする設定
Application.Calculation = xlCalculationManual'表計算を停止する。
Application.ScreenUpdating = False'画面の更新を停止する
’処理速度を早くする工夫を解除する
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True

マクロの実行中に処理結果を画面に表示したりする処理が入るとその分処理が遅くなります。これを回避するためのコマンドです。

詳しくは
「エクセル VBA 処理速度」などで検索

また、計算の停止を行った場合、計算停止の状態でマクロがエラーを出してストップしてしまうとその後に自動計算を再開させないと計算が更新されない不具合が発生してしまいます。そこでエラー時には必ず元に戻して抜ける処理を追加しましょう。

Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False

On Error GoTo Shipai
	'<<ここに処理>>
	GoTo DEGUCHI'失敗処理をパスする指示
Shipai:
	'<<失敗した時の処理>>
DEGUCHI:
	<<エラーでも通常でも処理する内容>>

Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True

コメント