今回は、プログラムの実行時間計測を可能にするExcel VBAの “Timer”関数解説し、具体的な使用例を挙げていきます。
Timer関数とは何か
VBAのTimer関数は、午前0時からの経過時間を返します。計測単位は、小数点第16位までの短い時間を計測することができます。
Timer関数を複数設定することで、その間に何秒かかったのかを計測できるのです。長大なマクロ全体で処理時間が非常に長く、短縮したいが、どこで時間がかかっているかがわからないケースで特に有効です。
![](https://chefyushima.com/wp-content/uploads/2024/05/image-37.png)
活用例
具体的な使い方を説明します。以下のコードは、ある処理の開始時と終了時のタイマーの値を取得し、その差分を計算して実行時間を求めます。
Sub MeasureTime()
Dim startTime As Single
Dim endTime As Single
Dim elapsedTime As Single
‘ 計測開始
startTime = Timer
‘ 何らかの処理
‘ 例: 1秒待機
Application.Wait (Now + TimeValue(“0:00:01”))
‘ 計測終了
endTime = Timer
‘ 経過時間の計算
elapsedTime = endTime – startTime
‘ 経過時間の表示
MsgBox “処理にかかった時間は ” & elapsedTime & ” 秒です。”
End Sub
実行結果は以下の通りです。
![](https://chefyushima.com/wp-content/uploads/2024/05/timer.png)
なお、Single型のため、今回は小数点第7位までですが、Double型を使用すれば、小数点第16位までの更に細かい時間計測が可能になります。
コメント