処理を一時停止する

広告

マクロを実行している途中で指定した時刻まで一時停止させることができます。

処理を一時停止するには、Applicationオブジェクトの「Wait」メソッドを使います。

Application.Wait "12:24:11"

停止させる時刻はVariant型の値で指定し、Excelの日付の書式に沿って記述します。例えば現在の時刻から10秒後の時刻まで停止させるには次のように記述します。

Dim waitTime As Variant

waitTime = Now + TimeValue("0:00:10")
Application.Wait waitTime

「Wait」メソッドは、Excel のすべての動作を停止させますが、印刷や再計算などのバックグラウンド処理は続行されます。

サンプルプログラム

では簡単なサンプルで試してみましょう。

testapplicaiotnother4.bas

Sub テスト()

    Dim waitTime As Variant

    Range("B2") = "開始"

    waitTime = Now + TimeValue("0:00:05")
    Application.Wait waitTime

    Range("B3") = "終了"
    
End Sub

上記マクロを実行すると次のようになります。

処理の一時停止

いったん上記のように表示されたから5秒間処理を中止します。そして5秒経過後に処理が続行され次のように表示されます。

処理の一時停止

Excel VBA入門の他の記事を見てみる

( Written by Tatsuo Ikura )

関連記事 (一部広告含む)