DatePart


構文

DatePart(interval,date[,firstdayofweek[,firstweekofyear]])

引数intervalには、時間間隔の単位を指定します。

引数dateには、評価の対象になる日付を指定します。

引数firstdayofweekは省略可能です。週の始まりの曜日を指定します。

引数firstweekofyearは省略可能です。年度の第1週を指定します。

解説

DatePart関数は、引数dateで指定した日付を引数intervalで指定した間隔で評価します。

引数Intervalに指定できる間隔は次のとおりです。

設定値 内容
yyyy
q 四半期
m
y 年間通算日
d
w 週日
ww
h
n
s

引数firstdayofweekに指定できる設定値は次のとおりです。

定数 内容
vbUseSystem 0 各国語対応APIの設定値を使います
vbSunday 1 日曜(既定値)
vbMonday 2 月曜
vbTuesday 3 火曜
vbWednesday 4 水曜
vbThursday 5 木曜
vbFriday 6 金曜
vbSaturday 7 土曜

引数firstweekofyearに設定できる設定値は次のとおりです。

定数 内容
vbUseSystem 0 各国語対応APIの設定値を使います
vbFirstJan1 1 1 月 1 日を含む週を年度の第 1 週として扱います(既定値)
vbFirstFourDays 2 7 日のうち少なくとも 4 日が新年度に含まれる週を年度の第 1 週として扱います
vbFirstFullWeek 3 全体が新年度に含まれる最初の週を年度の第 1 週として扱います

サンプル

次の例は、ユーザーが入力した任意の日付が「第何週」で「第何四半期」に該当するかを表示します。

Sub Sample()
    Dim myDate As String, msg As String, CL As String
    CL = Chr(13) & Chr(10)
    myDate = InputBox("日付を入力してください")
    If IsDate(myDate) Then
        msg = myDate & "は、" & CL
        msg = msg & DatePart("ww", myDate) & "週め" & CL
        msg = msg & "第" & DatePart("q", myDate) & "四半期に属します"
        MsgBox msg
    End If
End Sub