Time関数の使い方と注意点
Time関数は、現在のシステム時刻(時:分:秒)を取得する関数です。
日付情報は含まれず、時刻のみが返されます。
構文
Time
-
戻り値 : 現在のシステム時刻(Date型)
※Date型
は日付・時刻両方を表す型ですが、Time関数では時刻部分のみが意味を持ちます
使用例
現在の時刻を表示
Sub Sample()
Debug.Print Time
End Sub
▶ 出力結果(実行時刻が午後3時45分12秒の場合)
15:45:12
1時間後の時間を取得
Sub Sample()
Debug.Print Time + TimeSerial(1, 0, 0)
End Sub
▶ 出力結果(実行時刻が午後3時45分12秒の場合)
16:45:12
TimeSerial関数とは?
TimeSerial(h, m, s)
は指定された時・分・秒の「時刻値」を返す関数です。
⚠️注意
日付は含まれない
Time関数は時刻のみを返します。
日付を含めたい場合はNow関数を使用します。
Sub Sample()
Debug.Print Now
End Sub
▶ 出力結果(実行時刻が2025年1月1日午後3時45分12秒の場合)
2025/01/01 15:45:12
型はDate型(内部的にはシリアル値)
Time関数の戻り値はDate型ですが、実体は「0以上1未満の小数値」です。
たとえば:
- 0.0 → 00:00:00(深夜0時)
- 0.5 → 12:00:00(正午)
- 0.75 → 18:00:00(午後6時)
この数値は 日付と時刻を数値で扱うExcelの内部仕様に基づいており、
CDbl関数を使えば、その内部数値を確認できます。
CDbl関数とは?
CDbl 関数は「Convert to Double(倍精度小数に変換)」の略で、
Date型や文字列などを、Double型(倍精度の浮動小数)に変換する関数です。
Sub Sample()
Debug.Print Time
Debug.Print CDbl(Time)
End Sub
▶ 出力結果(実行時刻が12時の場合)
12:00:00
0.5
この仕組みを知っておくと、時刻の差分計算や加減算も簡単になります。
例えば Time + 0.25 は「現在時刻 + 6時間」になります(0.25日 = 6時間)。
セルに書き込むと自動的に時刻表示になる
Sub Sample()
Range("A1").Value = Time
End Sub
▶ 出力結果(実行時刻が12時の場合)
実行すると、セルA1には現在の時刻が書き込まれます。
表示形式が画像とは違う場合もあります
表示形式はエクセルの書式設定やPCの書式設定により異なる場合があります。
システム時刻依存
Time関数の値は、PCの現在の時刻を参照しています。
そのため、システムの時計設定が間違っていると、取得される時刻も不正確になります。
関連するVBA関数
その他のVBA関数
【Excel VBA】VBAでよく使う関数一覧&基本の使い方