【Excel VBA】処理時間を計測する Timer関数

Excel マクロ(VBA)

今回は、プログラムの実行時間計測を可能にするExcel VBAの “Timer”関数解説し、具体的な使用例を挙げていきます。

スポンサーリンク

Timer関数とは何か

VBAのTimer関数は、午前0時からの経過時間を返します。計測単位は、小数点第16位までの短い時間を計測することができます。

Timer関数を複数設定することで、その間に何秒かかったのかを計測できるのです。長大なマクロ全体で処理時間が非常に長く、短縮したいが、どこで時間がかかっているかがわからないケースで特に有効です。

スポンサーリンク

活用例

具体的な使い方を説明します。以下のコードは、ある処理の開始時と終了時のタイマーの値を取得し、その差分を計算して実行時間を求めます。

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

実行結果は以下の通りです。

なお、Single型のため、今回は小数点第7位までですが、Double型を使用すれば、小数点第16位までの更に細かい時間計測が可能になります。

コメント

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