更新日:、 作成日:

VBA Date 関数:今日の日付を取得する

はじめに

Excel VBA マクロの Date 関数から今日の日付を取得する方法を紹介します。

Date 関数は、現在の日付を返します。

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

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

現在の日時を取得するには「Now 関数」を使用します。
現在の時間を取得するには「Time 関数」を使用します。
日付を入力や取得するには「日付を入力する」をご覧ください。

Date 関数の引数と戻り値

Date()
今日の日付を取得します。

戻り値の型日付型 (Date)

解説

Windows の日付を返します。時刻は 0:00:00 です。

日時から日付を取得するには「DateValue 関数」を使用します。

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

日付を計算

Date + 1 で明日の日付、Date - 1 で昨日の日付を取得できます。

日時を計算するには「DateAdd 関数」を使用します。

日付を計算するには「日付を計算する」をご覧ください。

使用例

Date 関数の使用例を紹介します。

今日の日付を取得する

現在日時が 2013/01/02 3:04:05 のときに日付を取得する。

Now 関数」や「Time 関数」を使用して、現在の日時や時間を取得できます。

Dim d As Date

d = Date
Debug.Print(d) ' 2013/01/02

d = Now
Debug.Print(d) ' 2013/01/02 3:04:05

d = Time
Debug.Print(d) ' 3:04:05

日時から日付を取得する

DateValue 関数」を使用して、日時から日付を取得できます。

Dim d As Date
d = DateValue("2013/1/2 3:4:5")
Debug.Print(d) ' 2013/01/02

d = DateValue("2013年1月2日 3時4分5秒")
Debug.Print(d) ' 2013/01/02

年月日を取得する

Year 関数Month 関数Day 関数」を使用して、年月日を取得できます。

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  

日付を計算する

DateAdd 関数」を使用して、日付を計算できます。

Dim d As Date

' 明日の日付を取得
d = Date + 1
Debug.Print(d) ' 2013/01/03

d = DateAdd("d", 1, Date)
Debug.Print(d) ' 2013/01/03

' 昨日の日付を取得
d = Date - 1
Debug.Print(d) ' 2013/01/01

d = DateAdd("d", -1, Date)
Debug.Print(d) ' 2013/01/01