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

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

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

VBAコード

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

Sub execTimeSample()

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

実行結果

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

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