サイトについて      連絡先   検索

VBA Timer 関数

はじめに

Excel VBA マクロの Timer 関数を紹介します。

Timer 関数は、0 時からの経過時間を秒数で返します。

処理の経過時間を計測したいときに便利です。

  • 目次
    • 構文
    • 解説
    • 使用例

構文

Timer()
午前 0 時 から経過した秒数を取得します。

戻り値の型数値型 (Single)

解説

本日0:00:00からの経過時間を秒数に小数も付けて返します。

現在時刻が0:10:00なら600を返します。

戻り値は Single 型ですが Double 型に代入するとより精度の高い小数を取得できます。

処理後 - 処理前の時間を計算して経過時間を求められます。

処理を「高速化」したいときに使用します。

使用例


Dim f As Single
f = Timer
Debug.Print(f) ' 46839.14

Dim d As Double
d = Timer
Debug.Print(d) ' 46839.140625

経過時間を求める方法。

1 ミリ秒もかからないような処理は 0 秒になり計測できません。そのときは、処理を 1000 回くらいループすると計測しやすくなります。


Dim startTime As Double
Dim stopTime As Double
        
startTime = Timer ' 処理前

Dim i As Integer
For i = 1 To 1000    
    ' 時間のかかる処理
Next

stopTime = Timer ' 処理後
    
Debug.Print(stopTime - startTime) ' 1000 回分の経過時間
' 1000 で割ると 1 回の時間になる
  • 目次
    • 構文
    • 解説
    • 使用例