更新日:、 作成日:

VBA Day 関数:日を取得する

はじめに

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

Day 関数は、指定した日付の日を返します。

2013/01/02 なら 2 を返します。

日付から日の値を取得したいときに使用します。

年月日の値を取得するときは「Year 関数Month 関数Day 関数」を使用します。
時分秒の値を取得するときは「Hour 関数Minute 関数Second 関数」を使用します。
日付を入力や取得するには「日付を入力する」をご覧ください。

Day 関数の引数と戻り値

Day(日付)
日付から日を取得します。

引数「日付」日付を指定します。
戻り値の型数値型 (Integer)

解説

引数「日付」が 2013/01/02 なら 2 を返します。

引数「日付」が時刻なら、日付型の初期値 1899/12/30 から 30 を返します。

日を 2 桁の文字列で返すなど、書式や形式を指定するには「Format 関数」を使用します。

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

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

使用例

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

日を取得する

日付の日を取得します。

Dim i As Integer
i = Day("2013/1/2")
Debug.Print(i) ' 2

i = Day("2013/10/25")
Debug.Print(i) ' 25

i = Day("1:2:3") ' 1899/12/30 1:02:03
Debug.Print(i) ' 30

年月日や時分秒を取得する

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

Hour 関数Minute 関数Second 関数」を使用して、時分秒を取得できます。

Dim d As Date
d = "2013/1/2 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

書式や形式を指定する

Format 関数」を使用して、日の書式や形式を指定できます。

Dim d As Date
d = "2013/1/2 3:4:5"

Debug.Print(Format(d, "d"))    ' 2
Debug.Print(Format(d, "dd"))   ' 02
Debug.Print(Format(d, "d 日")) ' 2 日

Debug.Print(Format(d, "yyyy/mm/dd")) ' 2013/01/02