更新日:、 作成日:

VBA Month 関数:月を取得する

はじめに

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

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

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

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

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

Month 関数の引数と戻り値

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

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

解説

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

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

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

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

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

使用例

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

月を取得する

日付の月を取得します。

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

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

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

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

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, "m"))    ' 1
Debug.Print(Format(d, "mm"))   ' 01
Debug.Print(Format(d, "m 月")) ' 1 月

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