VBA 経過した秒数を取得するTimer関数

スポンサーリンク

Timer【タイマー】関数

午前0時から経過した秒数を取得するには、Timer【タイマー】関数を使用します。Timer【タイマー】関数の値は、当日の23時59分59秒まで秒単位で累積されます。したがって、処理終了時のTimer関数の値から処理開始時のTimer関数の値を減算することで処理にかかった秒数を算出することもできます。

Timer【タイマー】関数の書式

Timer
【戻り値】単精度浮遊小数点型(Single)の値


今日の始まりからの秒数を取得するコード

Sub 現在秒数()
MsgBox "本日" & Timer & "秒経過しました。"
End Sub

実行結果

処理の実行時間を計測するコードと解説

Sub 処理時間計測()
Dim 開始 As Single
Dim i As Long
開始 = Timer
For i = 1 To Rows.Count
Cells(i, 1) = "A"
Next i
MsgBox "処理にかかった時間は" & Round(Timer - 開始, 1) & "秒です。"
End Sub
2行目【Dim 開始 As Single】
繰り返し処理開始前にTimer【タイマー】関数を使用して本日の経過秒を取得し格納する変数「開始」を単精度浮遊小数点型(Single)で宣言します。


3行目【Dim i As Long】
繰り返し処理で使用される1~セルの行数の値が順次代入されるカウンター変数「i」を長整数型(Long)で宣言します。


4行目【開始 = Timer】
Timer【タイマー】関数を使用して、本日の経過秒を取得し、変数「開始」に代入します。


5行目【For i = 1 To Rows.Count】
For【フォー】ステートメントを使用して繰り返し処理の始まりです。条件式は、カウンター変数「i」に1からRows【ロウズ】プロパティで参照したすべての行のCount【カウント】プロパティで最終行番号を参照して繰り返しの条件式とします。


6行目【Cells(i, 1) = “A”】
Cells【セルズ】プロパティでA列のカウンター変数「i」行目を参照して文字列のAを代入します。最終的には、繰り返し処理により、A列のすべてのせるに文字列のAが代入されます。


8行目【MsgBox “処理にかかった時間は” & Round(Timer – 開始, 1) & “秒です。”】
Timer【タイマー】関数で取得した本日の経過秒から繰り返し処理の開始前にTimer【タイマー】関数で取得した本日の経過秒を格納した変数「開始」を減算して、繰り返し処理の経過秒を計算し、指定した位置で小数点をまるめるRound【ラウンド】関数を使用して小数点以下1をまるめて、MsgBox【メッセージボックス】関数を使用して繰り返し処理の経過秒を表示します。

実行結果


以上で、Timer【タイマー】関数についての解説を終了します。ありがとうございました。

日付・時刻関数一覧表

日付や時刻の関数一覧表です。
関数名がリンクになっています。
クリックすると詳細説明ページが開きます。
関数名説明
Date現在の「日付」を取得します。
Year日付から「年」を取得します。
Month日付から「月」を取得します。
Day日付から「日」を取得します。
DatePart年・月・日を部分的に取得します。
Now現在の「日時」を取得します。
Time現在の「時刻」を取得します。
Hour時刻の「時」を取得します。
Minute時刻の「分」を取得します。
Second時刻の「秒」を取得します。
Weekday曜日を表す「整数値」を取得します。
WeekdayName曜日を表す整数値を「曜日名」に変換します。
DateSerial年・月・日を表す整数値から日付データに変換します。
TimeSerial時・分・秒を表す整数値から時刻データに変換します。
DateDiff日付や時間の間隔を計算します。
DateAdd時間を加算または減算した日付や時刻を取得します。
Timer経過した秒数を取得します。
CDateデータ型を日付型に変換します。
IsDate日付や時刻として扱えるかを調べます。
DDateValueateValue日付を表す文字列式を日付型(Date)に変換します。
TimeValueTimeValue時刻を表す文字列式を日付型(Date)に変換します。

スポンサーリンク

関連記事・広告