
Excel VBAで曜日を取得する方法の記録です。
曜日を取得するには「Weekday」関数を使います
< スポンサーリンク >
「Weekday」関数構文
Weekday(date[,firstdayofweek])
date = 曜日を取得したい日付
firstdayofweek = 週の最初の曜日を指定 省略可能(省略した場合、1(日曜)~7(土曜)の値で取得されます)
引数のfirstdayofweekは、下記の値で指定できます。
| 定 数 | 値 | 内容 |
|---|---|---|
| vbUseSystem | 0 | 各国語対応APIの設定値を使用 |
| vbSunday | 1 | 日曜(規定値) |
| vbMonday | 2 | 月曜 |
| vbTuesday | 3 | 火曜 |
| vbWednesday | 4 | 水曜 |
| vbThursday | 5 | 木曜 |
| vbFriday | 6 | 金曜 |
| vbSaturday | 7 | 土曜 |
Weekday関数を実行すると、下記の値が返ってきます。
| 定 数 | 値 | 内容 |
|---|---|---|
| vbSunday | 1 | 日曜(規定値) |
| vbMonday | 2 | 月曜 |
| vbTuesday | 3 | 火曜 |
| vbWednesday | 4 | 水曜 |
| vbThursday | 5 | 木曜 |
| vbFriday | 6 | 金曜 |
| vbSaturday | 7 | 土曜 |
VBAで曜日を取得する例
2018/12/1の曜日を取得してみます。
2018/12/1は土曜日なので、7がメッセージで表示されます。
Sub test()
Dim hi As Date
hi = #12/1/2018#
MsgBox Weekday(hi)
End Sub


現在の日付を取得したい場合
Weekday関数に渡す日付は、現在の日付から取得することもできます。現在の日付を取得する方法はこちらの記事で解説しています。
Excel VBAで現在の日付や時刻を取得する方法を解説。Date関数、Time関数、Now関数それぞれの違いと使用例を紹介します。
まとめ
Weekday関数を使えば、指定した日付の曜日を数値で取得できます。firstdayofweek引数を指定すれば、週の始まりの曜日も変更できます。
こんな記事も書いています

