更新日:、 作成日:
VBA Now 関数:現在の日時を取得する
はじめに
Excel VBA マクロの Now 関数から現在の日時を取得する方法を紹介します。
Now 関数は、現在の日時を返します。
現在の日時が 2000年1月2日 3時4分5秒 なら 2000/01/02 3:04:05 を返します。
現在の日時を取得したいときに使用します。
現在の日付を取得するには「Date 関数」を使用します。
現在の時刻を取得するには「Time 関数」を使用します。
日付を入力や取得するには「日付を入力する」をご覧ください。
Now 関数の引数と戻り値
Now()
現在の日時を取得します。
戻り値の型 | 日付型 (Date) |
解説
Windows の日時を返します。
年月日を取得するには「Year 関数、Month 関数、Day 関数」を使用します。
時分秒を取得するには「Hour 関数、Minute 関数、Second 関数」を使用します。
日付を取得するには「日付を入力する」をご覧ください。
ミリ秒
ミリ秒を取得するには「Timer 関数」を使用します。
日付型 (Date) はミリ秒に対応していないので、文字列としてミリ秒を結合します。
使用例
Now 関数の使用例を紹介します。
現在日時を取得する
現在日時が 2013/01/02 3:04:05 のときに日時を取得する。
「Date 関数」や「Time 関数」を使用して、現在の日付や時間を取得できます。
Dim d As Date
d = Now
Debug.Print(d) ' 2013/01/02 3:04:05
d = Date
Debug.Print(d) ' 2013/01/02
d = Time
Debug.Print(d) ' 3:04:05
ミリ秒を取得する
「Timer 関数」を使用して、ミリ秒を取得できます。
Dim 時刻 As Double
時刻 = Timer
Debug.Print(時刻) ' 11045.140625
Dim 秒数 As Double
秒数 = Int(時刻)
Debug.Print(秒数) ' 11045
Dim ミリ秒 As Double
ミリ秒 = 時刻 - 秒数
Debug.Print(ミリ秒) ' 0.140625
' 現在日時
Debug.Print(Format(Now, "yyyy/mm/dd h:nn:ss") & Mid(ミリ秒, 2)) ' 2013/01/02 3:04:05.140625
年月日や時分秒を取得する
「Year 関数、Month 関数、Day 関数」を使用して、年月日を取得できます。
「Hour 関数、Minute 関数、Second 関数」を使用して、時分秒を取得できます。
Dim d As Date
d = Now ' 2013/01/02 3:04:05
Debug.Print(Year(d)) ' 2013
Debug.Print(Month(d)) ' 1
Debug.Print(Day(d)) ' 2
Debug.Print(Hour(d)) ' 3
Debug.Print(Minute(d)) ' 4
Debug.Print(Second(d)) ' 5
スポンサーリンク