VBA指定時間待機や一定間隔に動作させる(wait)

投稿者: | 2021年10月1日
excelアイコン

エクセルバージョン

マイクロソフト365

 

今回はVBAの実行中に時間を指定して、指定時間待機一定間隔で処理ができるApplicationオブジェクトのWaitメソッドについてです。

それではいってみましょう!

 

Waitメソッド

概要

実行中のマクロを時間指定して停止させ、指定時間に達したらTrueを返します。

 

構文

Application.Wait (Time)

 

引数

Wait必須/省略可詳細
Time
(第1引数)
必須時間をエクセルの時間の書式で指定。

 

サンプル

3秒待ってから処理

3秒待ってからメッセージボックスを表示します。

TimeSerial関数を使用して時分秒をHour, Minute, Secondの引数にNow関数をいれて現在時間から3秒待ちます。

メッセージボックスに表示させます。

 

1秒間隔に処理

1秒ごとに変数iをイミディエイトウィンドウに表示させます。

For~Nextで繰り返し処理をし、Stepキーワードで-1ずつ減少させ3回くりかえします。

Now関数で現在日時から、TimeValue関数で1秒指定しで1秒間隔に動作させます。

イミディエイトウィンドウに 変数 i を表示させます。

 

ミリ秒での処理

1ミリ秒の間隔でセルに1行ずつ書き出す例です。

 

まとめ

実行中処理を止めて再度実行する場合や、一定間隔で処理を実行したい場合などありましたらご使用してみてください!

以上です。

関連記事

【VBA】処理時間を測定したり,待ってから動作させるTimer

Excel目次