Excel VBA Year、Month、Day関数の使い方

VBA関数

VBA関数のYear関数、Month関数、Day関数の使い方についてご説明します。

英語の意味そのままですが、Year関数は年を、Month関数は月を、Day関数は日を取得する関数になります。

「2019/01/01」のような日付からそれぞれ、年、月、日を取得したい際に使用します。

日付型だけではなく、日付として有効な文字列でも取得可能です。

DateSerial関数」と併用して利用するなどの頻度が高いです。

時刻に関しては「Hour、Minute、Second関数の使い方」をご覧ください。

その他、日付に関しては「Date関数」、時間に関しては「Time関数」、日時は「Now関数」などがあります。

1.Year、Month、Day関数の使い方

Year、Month、Day関数はそれぞれ年、月、日を返します。

次のように記述します。

Year(日付)

Month(日付)

Day(日付)

「日付」にはそれぞれ年、月、日を取得したいVariant型、日付型、文字列型の日付を指定します。

2.サンプルコード

日付型でも文字列型でも同じ結果を取得出来ます。

Sub Smaple1()

'日付型
Dim MyDate As Date

MyDate = "2019/10/20"

Debug.Print MyDate

Debug.Print Year(MyDate)

Debug.Print Month(MyDate)

Debug.Print Day(MyDate)

'文字列型
Dim MyStr As String

MyStr = "2019/10/20"

Debug.Print MyStr

Debug.Print Year(MyStr)

Debug.Print Month(MyStr)

Debug.Print Day(MyStr)

End Sub

DateSerial関数と組み合わせると次のようになります。

月に+10しているので、10か月後を取得出来ます。

Sub Smaple2()

'日付型
Dim MyDate As Date

MyDate = "2019/10/20"

'月に+10します
Debug.Print DateSerial(Year(MyDate), Month(MyDate) + 10, Day(MyDate))

End Sub
タイトルとURLをコピーしました