VBAのScreenUpdatingプロパティ
こちらでは、エクセルVBAのScreenUpdatingプロパティの解説になります。
プロパティとはオブジェクトの属性を指します。属性とは、そのオブジェクトの情報そのものです。プロパティはその値を取得したり、設定することもできます。プロパティを利用するにはオブジェクト名とプロパティ名の間に「.(ピリオド)」で結んで記述します。
オブジェクト名.プロパティ名
また、プロパティを設定する場合は以下のように「=(イコール)」を記述し設定値を代入します。
オブジェクト名.プロパティ名 = 設定値
目次
ScreenUpdatingプロパティ
ScreenUpdatingプロパティは、True の場合、マクロの実行中に画面表示を更新します。値の取得および設定が可能です。ブール型 (Boolean) の値を使用します。
マクロの速度を向上させるため、画面を更新しないようにします。この場合、マクロの処理過程は見ることができませんが、実行速度が速くなります。
マクロが終了した後は、ScreenUpdating プロパティの値を True に戻してください。
次の使用例は、画面表示の更新をオフにすることで、どのくらいコードの実行を速くできるのかを示します。シート 1 の列を 1 列おきに非表示にする操作を 2 回行い、それぞれの操作にかかる時間を調べます。1 回目の操作では、画面表示の更新はオンになりますが、2 回目のときにはオフになります。実行すると、それぞれの操作の所要時間がメッセージ ボックスに表示されます。
Dim elapsedTime(2)
Application.ScreenUpdating = True
For i = 1 To 2
If i = 2 Then Application.ScreenUpdating = False
startTime = Time
Worksheets("Sheet1").Activate
For Each c In ActiveSheet.Columns
If c.Column Mod 2 = 0 Then
c.Hidden = True
End If
Next c
stopTime = Time
elapsedTime(i) = (stopTime - startTime) * 24 * 60 * 60
Next i
Application.ScreenUpdating = True
MsgBox "更新がオンの状態での所要時間は " & elapsedTime(1) & _
" 秒: " & Chr(13) & _
"更新がオフの状態での所要時間は " & elapsedTime(2) & _
" 秒"
近田 伸矢, 植木 悠二, 上田 寛
IEのデータ収集&自動操作のプログラミング本はこの1冊だけ!IEの起動やポップアップウィンドウ、表示を制御する基本的なコードはもちろん、テキストボックスやラジオボタン、表、ハイパーリンクなどのHTML部品を制御する方法など、自動操作に欠かせないノウハウを丁寧に解説。