処理を一時停止する

マクロを実行している途中で指定した時刻まで一時停止させることができます。ここでは Excel VBA を使って処理を一時停止する方法について解説します。

(Last modified: )

処理を一時停止する

処理を一時停止するには、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 のすべての動作を停止させますが、印刷や再計算などのバックグラウンド処理は続行されます。

サンプルプログラム

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

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 )

Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。