【VBA】処理に掛かる時間を計測する

性能要件により、VBAで作成したツールの処理時間に
制限がある場合があります。
※「30秒以内に処理が終了すること」等。

この記事では
 ・処理に掛かる時間を計測し、
 ・結果をメッセージボックスで表示する
VBAコードを紹介します!

VBAコード

計測した処理の前後で、Now関数を使用し現在日時を取得します。
取得した日時を使用して処理時間を算出します。

Sub execTimeSample()

    Dim startDateTime As Date
    Dim endDateTime As Date
    Dim processTime As Date
    
    Dim i As Double
    
    '開始日時を取得
    startDateTime = Now
    
    '計測したい処理
    For i = 0 To 500000000
    
    Next i
    
    '終了日時を取得
    endDateTime = Now
    
    '処理時間を算出
    processTime = endDateTime - startDateTime
    
    MsgBox "処理が完了しました!" & vbCrLf & vbCrLf & _
            "開始日時:" & startDateTime & vbCrLf & _
            "終了日時:" & endDateTime & vbCrLf & _
            "処理時間:" & processTime & vbCrLf, _
            vbOKOnly + vbInformation, "計測結果"
End Sub

実行結果

処理に掛かる時間を計測することが出来ました。

タイトルとURLをコピーしました