性能要件により
・VBAで作成したツールの処理時間に
・制限がある
ことがあります。
※「30秒以内に処理が終了すること」等。
この記事では
・処理に掛かる時間を計測し、
・結果をメッセージボックスで表示する
VBAコードを紹介します!
VBAコード
計測した処理の前後で、Now関数を使用し現在日時を取得します。
取得した日時を使用して処理時間を算出します。
Option Explicit
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
実行結果
処理に掛かる時間を計測できました。
参考①
高速化対応をすることで、処理に掛かる時間を短縮できます。
高速化対応については、以下の記事をご確認ください。
参考②
上記のVBAコードで使用した以下の詳細は、公式サイトをご確認ください。
●Now関数