構文
構文は以下の通りです。
Weekday(日時, [週の開始曜日])
解説
Weekday関数は、指定された日付に対応する曜日を数値で返す関数です。
引数 | 指定 | 内容 |
日時 | 必須 | 曜日を取得したい日付を指定します。日付はDate型、または日付を表す文字列で指定します。 |
週の開始曜日 | 省略可 | 曜日の最初の日を指定します。省略するとシステムの設定に従います。設定値を以下で紹介します。 |
週の開始曜日には以下の設定値が指定できます。
定数 | 値 | 内容 |
vbSunday | 1 | 日曜日(既定値) |
vbMonday | 2 | 月曜日 |
vbTuesday | 3 | 火曜日 |
vbWednesday | 4 | 水曜日 |
vbThursday | 5 | 木曜日 |
vbFriday | 6 | 金曜日 |
vbSaturday | 7 | 土曜日 |
Weekday関数の戻り値は以下の通りです。
値 | 内容 |
1 | 日曜日 |
2 | 月曜日 |
3 | 火曜日 |
4 | 水曜日 |
5 | 木曜日 |
6 | 金曜日 |
7 | 土曜日 |
使い方
Weekday関数の使い方を説明します。
Sub WeekdayExample()
Dim myDate As Date
Dim dayOfWeek As Integer
myDate = DateSerial(2023, 6, 9) ' 曜日を取得したい日付を指定
dayOfWeek = Weekday(myDate) ' 曜日を取得
MsgBox "指定された日付の曜日は " & dayOfWeek & " です。"
End Sub
Dim myDate As Date
Dim dayOfWeek As Integer
myDate = DateSerial(2023, 6, 9) ' 曜日を取得したい日付を指定
dayOfWeek = Weekday(myDate) ' 曜日を取得
MsgBox "指定された日付の曜日は " & dayOfWeek & " です。"
End Sub
上記のコードでは、myDateに指定した日付の曜日を取得しています。Weekday関数の戻り値であるdayOfWeekには、数値が格納されます。この数値をメッセージボックスで表示しています。
プログラミング例
1.曜日を日本語で表示する例
Weekday関数の戻り値は数値ですが、曜日を日本語で表示することも可能です。以下のプログラムでは、Select Case文を使用して曜日を判別し、日本語の曜日をメッセージボックスで表示します。
Sub WeekdayExample()
Dim myDate As Date
Dim dayOfWeek As Integer
Dim dayOfWeekStr As String
myDate = DateSerial(2023, 6, 9) ' 曜日を取得したい日付を指定
dayOfWeek = Weekday(myDate) ' 曜日を取得
Select Case dayOfWeek
Case 1
dayOfWeekStr = "日曜日"
Case 2
dayOfWeekStr = "月曜日"
Case 3
dayOfWeekStr = "火曜日"
Case 4
dayOfWeekStr = "水曜日"
Case 5
dayOfWeekStr = "木曜日"
Case 6
dayOfWeekStr = "金曜日"
Case 7
dayOfWeekStr = "土曜日"
End Select
MsgBox "指定された日付の曜日は " & dayOfWeekStr & " です。"
End Sub
Dim myDate As Date
Dim dayOfWeek As Integer
Dim dayOfWeekStr As String
myDate = DateSerial(2023, 6, 9) ' 曜日を取得したい日付を指定
dayOfWeek = Weekday(myDate) ' 曜日を取得
Select Case dayOfWeek
Case 1
dayOfWeekStr = "日曜日"
Case 2
dayOfWeekStr = "月曜日"
Case 3
dayOfWeekStr = "火曜日"
Case 4
dayOfWeekStr = "水曜日"
Case 5
dayOfWeekStr = "木曜日"
Case 6
dayOfWeekStr = "金曜日"
Case 7
dayOfWeekStr = "土曜日"
End Select
MsgBox "指定された日付の曜日は " & dayOfWeekStr & " です。"
End Sub
2.曜日の最初の文字を表示する例
曜日の最初の文字を取得する方法もあります。以下の例では、Weekday関数の戻り値を利用して、曜日の最初の文字を取得して表示します。
Sub WeekdayExample()
Dim myDate As Date
Dim dayOfWeek As Integer
Dim firstLetter As String
myDate = DateSerial(2023, 6, 9) ' 曜日を取得したい日付を指定
dayOfWeek = Weekday(myDate) ' 曜日を取得
firstLetter = Left(WeekdayName(dayOfWeek), 1)
MsgBox "指定された日付の曜日の最初の文字は " & firstLetter & " です。"
End Sub
Dim myDate As Date
Dim dayOfWeek As Integer
Dim firstLetter As String
myDate = DateSerial(2023, 6, 9) ' 曜日を取得したい日付を指定
dayOfWeek = Weekday(myDate) ' 曜日を取得
firstLetter = Left(WeekdayName(dayOfWeek), 1)
MsgBox "指定された日付の曜日の最初の文字は " & firstLetter & " です。"
End Sub
上記のコードでは、WeekdayName関数を使用して曜日の名称を取得し、Left関数を使用して最初の文字を抽出しています。
まとめ
Weekday関数の使い方について解説しました。Weekday関数は指定された日付に対応する曜日を数値で返す関数です。Weekday関数を活用することで、日付データを曜日に変換したり、曜日に関連する処理を行ったりすることができます。是非活用してください。