VBA Now 関数:現在の日時を取得する

はじめに

Excel VBA マクロの Now 関数から現在の日時を取得する方法を紹介します。

Now 関数は、現在の日時を返します。

現在の日時が 2000年1月2日 3時4分5秒 なら 2000/01/02 3:04:05 を返します。

現在の日時を取得したいときに使用します。

現在の日付を取得するには「Date 関数」を使用します。
現在の時刻を取得するには「Time 関数」を使用します。
日付を入力や取得するには「日付を入力する」をご覧ください。
  • 目次
    • Now 関数
    • 解説
    • 使用例

Now 関数

Now()
現在の日時を取得します。

戻り値の型日付型 (Date)

解説

Windows の日時を返します。

年月日を取得するには「Year 関数Month 関数Day 関数」を使用します。

時分秒を取得するには「Hour 関数Minute 関数Second 関数」を使用します。

日付を取得するには「日付を入力する」をご覧ください。

ミリ秒

ミリ秒を取得するには「Timer 関数」を使用します。

日付型 (Date) はミリ秒に対応していないので、文字列としてミリ秒を結合します。

使用例

現在日時が 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