VBA(エクセルマクロ)

【VBA】ScreenUpdatingをオフにしてエクセルマクロの処理速度を向上する

■マクロの動作を表示しない(動作速度向上)

 

通常、マクロ実行時は処理状況を表示してしまうため、処理と画面表示の両方にCPUを使ってしまいます。画面表示をなくすことによって処理を早めることになります

処理工程が多いプロシージャを実行する際は、ScreenUpdatingをオフにするかどうかで、処理速度が大幅に変わります。

逆に言うと、すぐ処理が完了するような場合は、あまり効果を発揮しません。

実際の記述について

下記のプロシージャのように、プロシージャのSubステートメントの後に

Dim i As Long
Application.ScreenUpdating = False

を記述し、本来行いたい処理を記述。

 

最後にEnd Subの前に

Application.ScreenUpdating = True

を記述してScreenUpdatingを元に戻してください。

 

 VBA
Sub test()
Dim i As Long
Application.ScreenUpdating = False
 
 ※ステートメント(実行する処理)
 
Application.ScreenUpdating = True
End Sub

-VBA(エクセルマクロ)

Copyright© grantish , 2024 All Rights Reserved.