分かりやすく、使いやすく。

処理を一時停止する方法

スポンサーリンク

Excel VBA で処理を一時停止させるには Application.Wait を使用します。 Application.Wait の場合、停止時間をミリ秒単位で指定することはできないので、ミリ秒単位で停止したい場合は WindowsAPI の Sleep を使用します。

  1. 一時停止する
  2. 一時停止する(ミリ秒で停止時間を指定)


一時停止する

サンプルコードは次の通りです。

VBA(実行可能なサンプルコード)
1
2
3
4
5
6
7
8
9
10
11
Option Explicit
 
Sub test()
    Debug.Print "処理開始:" & Now
    
    '1秒処理を停止(現在時刻の1秒後まで処理を待つ)
    Application.Wait Now + TimeValue("00:00:01")
    
    Debug.Print "処理終了:" & Now
End Sub
 

一時停止する(ミリ秒で停止時間を指定)

サンプルコードは次の通りです。「Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)」の記述が無いと動作しません。

VBA(実行可能なサンプルコード)
1
2
3
4
5
6
7
8
9
10
11
12
13
Option Explicit
 
'WindowsAPI の使用を宣言
Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
 
Sub test()
    Debug.Print "処理開始:" & Now
    
    '500ミリ秒一時停止
    Sleep 500
    
    Debug.Print "処理終了:" & Now
End Sub 
スポンサーリンク
スポンサーリンク