WeekdayNameとは、引数の曜日を表す整数値から対応する文字列の曜日を返す関数です。VBA関数のみでワークシートでは使用できません。
構文: TWeekdayName(weekday, abbreviate, firstdayofweek)
・weekday : 曜日を表す1~7の整数で指定します。対応する曜日はfirstdayofweekの設定によって変わります。
・abbreviate : (省略可能) Trueを指定すると「月」のように曜日名のみで、Falseを指定すると「月曜日」のようになります。
・firstdayofweek : (省略可能) 1日目の曜日を指定します。
firstdayofweekの定数
定数 |
値 |
内容 |
vbSunday |
1 |
日曜日(既定値) |
vbMonday |
2 |
月曜日 |
vbTuesday |
3 |
火曜日 |
vbWednesday |
4 |
水曜日 |
vbThursday |
5 |
木曜日 |
vbFriday |
6 |
金曜日 |
vbSaturday |
7 |
土曜日 |
WeekdayName関数のVBA使用例
日曜から土曜まで、引数abbreviateを変更したWeekdayName関数のVBAです。
Sub mytest()
Range("B2") = WeekdayName(1, True, 1)
Range("B3") = WeekdayName(2, True, 1)
Range("B4") = WeekdayName(3, True, 1)
Range("B5") = WeekdayName(4, False, 1)
Range("B6") = WeekdayName(5, False, 1)
Range("B7") = WeekdayName(6, False, 1)
Range("B8") = WeekdayName(7, False, 1)
End Sub
引数abbreviateがTrueの場合、曜日名のみが表示されていて、Falseの場合「曜日」が付いて表示されています。
月曜始りにするには、引数firstdayofweekを2にします。
実行結果です。
月曜日始りに変更できました。
今日の曜日を表示するには、Weekday関数を組み合わせて使用します。
・今日の日付を取得するために、Weekday関数の引数にDate関数を使用しています。
・どちらの引数firstdayofweekも、1の日曜日を指定しています。
Sub mytest()
Range("B2") = WeekdayName(Weekday(Date, 1), False, 1)
End Sub
実行結果です。
今日の曜日を表示することができました。