更新日:、 作成日:

VBA Year 関数:年を取得する

はじめに

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

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

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

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

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

Year 関数の引数と戻り値

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

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

解説

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

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

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

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

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

使用例

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

年を取得する

日付の年を取得します。

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

i = Year("2020/10/25")
Debug.Print(i) ' 2020

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

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

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, "yyyy"))      ' 2013
Debug.Print(Format(d, "yy"))        ' 13
Debug.Print(Format(d, "yyyy 年"))   ' 2013 年
Debug.Print(Format(d, "gee"))       ' H25
Debug.Print(Format(d, "ggg ee 年")) ' 平成 25 年

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