構文
構文は以下の通りです。
解説
Weekday関数は、指定された日付に対応する曜日を数値で返す関数です。
・date: 曜日を取得したい日付を指定します。日付はDate型、または日付を表す文字列で指定します。
・firstdayofweek(オプション): 曜日の最初の日を指定します。省略するとシステムの設定に従います。具体的な値は次の通りです。
1: 日曜日 (既定値)
2: 月曜日
3: 火曜日
4: 水曜日
5: 木曜日
6: 金曜日
7: 土曜日
関数は指定された日付に対応する曜日を数値で返します。返される数値は、firstdayofweekによって指定された曜日を基準として、以下のようになります。
1: firstdayofweekに指定した曜日
2: firstdayofweekの次の曜日
3: firstdayofweekの次の曜日
...
7: firstdayofweekの前の曜日
使い方
Weekday関数の使い方を説明します。
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文を使用して曜日を判別し、日本語の曜日をメッセージボックスで表示します。
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関数の戻り値を利用して、曜日の最初の文字を取得して表示します。
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関数を活用することで、日付データを曜日に変換したり、曜日に関連する処理を行ったりすることができます。是非活用してください。