Excel VBA: DatePart関数の解説と使用例
DatePart関数は、指定した日付の特定の部分(年、月、日、時間など)を取得するためのExcel VBAの関数です。
構文
DatePart関数の構文は以下の通りです:
DatePart(interval, date, [firstdayofweek], [firstweekofyear])
- interval: 取得する日付の部分を指定します。「yyyy」(年)、「q」(四半期)、「m」(月)、「y」(年内の日)、「d」(日)、「w」(曜日)、「ww」(週数)、「h」(時間)、「n」(分)、「s」(秒)のいずれかの値を取ることができます。
- date: 日付の部分を取得する日付を指定します。これは日付リテラル、日付を含むセルへの参照、または日付を返す関数など、日付を表す任意の式を使用できます。
- firstdayofweek(オプション): 週の最初の日を指定します。これは VbDayOfWeek 列挙型のメンバーで、デフォルトは vbSunday です。
- firstweekofyear(オプション): 1週目をどの週とするかを指定します。これは VbFirstWeekOfYear 列挙型のメンバーで、デフォルトは vbFirstJan1 です。
使用例
次のVBAのサブプロシージャは、指定した日付の年、月、日、曜日を取得し、それぞれをメッセージボックスに表示します。
Sub ShowDateParts() Dim dateToCheck As Date Dim yearPart As Integer Dim monthPart As Integer Dim dayPart As Integer Dim weekdayPart As Integer dateToCheck = #12/31/2023# ' チェックする日付を指定 ' DatePart関数を使用して日付の各部分を取得 yearPart = DatePart("yyyy", dateToCheck) monthPart = DatePart("m", dateToCheck) dayPart = DatePart("d", dateToCheck) weekdayPart = DatePart("w", dateToCheck) ' 取得した日付の各部分を表示 MsgBox "指定した日付(" & dateToCheck & ")の年は" & yearPart & "、月は" & monthPart & "、日は" & dayPart & "、曜日は" & weekdayPart & "(日曜日が1、土曜日が7)です。" End Sub
このサブプロシージャを実行すると、指定した日付(ここでは2023年12月31日)の年、月、日、曜日がメッセージボックスに表示されます。