構文
構文は以下の通りです。
Weekday(日付, [週の開始曜日])
解説
Weekday関数は、指定された日付に対応する曜日を数値で返す関数です。
引数 | 指定 | 内容 |
日時 | 必須 | 曜日を取得したい日付を指定します。日付はDate型、または日付を表す文字列で指定します。 |
週の開始曜日 | 省略可 | 曜日の最初の日を指定します。省略するとシステムの設定に従います。設定値を以下で紹介します。 |
週の開始曜日には以下の設定値が指定できます。
定数 | 値 | 内容 |
vbSunday | 1 | 日曜日(既定値) |
vbMonday | 2 | 月曜日 |
vbTuesday | 3 | 火曜日 |
vbWednesday | 4 | 水曜日 |
vbThursday | 5 | 木曜日 |
vbFriday | 6 | 金曜日 |
vbSaturday | 7 | 土曜日 |
戻り値は以下の通りです。
値 | 内容 |
1 | 日曜日 |
2 | 月曜日 |
3 | 火曜日 |
4 | 水曜日 |
5 | 木曜日 |
6 | 金曜日 |
7 | 土曜日 |
プログラミング例
具体的なプログラミング例を紹介します。
Sub Weekday関数の例()
Dim 日付 As Date
Dim 曜日 As Integer
日付 = #2024/7/23#
' デフォルト(vbSunday)で曜日を取得
曜日 = Weekday(日付)
MsgBox "デフォルト(vbSunday)で指定した日付の曜日番号は: " & 曜日
' 月曜日を1とする設定(vbMonday)で曜日を取得
曜日 = Weekday(日付, vbMonday)
MsgBox "vbMondayで指定した日付の曜日番号は: " & 曜日
End Sub
Dim 日付 As Date
Dim 曜日 As Integer
日付 = #2024/7/23#
' デフォルト(vbSunday)で曜日を取得
曜日 = Weekday(日付)
MsgBox "デフォルト(vbSunday)で指定した日付の曜日番号は: " & 曜日
' 月曜日を1とする設定(vbMonday)で曜日を取得
曜日 = Weekday(日付, vbMonday)
MsgBox "vbMondayで指定した日付の曜日番号は: " & 曜日
End Sub
上記のプログラムは、週の開始曜日を指定しなかった場合と指定した場合とで、表示される戻り値が違う事が分かります。
まとめ
Weekday関数は、指定した日付の曜日を数値で返す関数です。デフォルトでは、日曜日を1、土曜日を7としますが、戻り値の種類を指定することで、月曜日を1とするなど他の設定も可能です。