エクセルバージョン
マイクロソフト365
本日は曜日の定数や数値から曜日が取得できるWeekdayName関数について解説したいと思います(*^^)v
それではいってみましょう!
Menu
WeekdayName関数
数値や定数を指定すると曜日文字列が返り取得できます。
構文
WeekdayName(weekday,abbreviate,firstdayofweek)
引数
WeekdayName引数 | 必須/省略可 | 詳細 |
weekday 第1引数 | 必須 | 曜日の数値を指定。 曜日の数値は、第3引数のfirstdayofweekの設定により異なる。 |
abbreviate 第2引数 | 省略可 | 曜日の書式をBoolean(True/False)で指定。 例)True 金曜日 → 金 省略した場合 → False 金曜日 |
firstdayofweek 第3引数 | 省略可 | 週の初めの曜日を定数か値で指定。 規定値は日曜から。 引数詳細。 |
第3引数firstdayofweek引数
定数 | 値 | 説明 |
vbUseSystem | 0 | 既定値。 各国語サポート (NLS) API の設定値を使用します。 |
vbSunday | 1 | 日曜日 |
vbMonday | 2 | 月曜日 |
vbTuesday | 3 | 火曜日 |
vbWednesday | 4 | 水曜日 |
vbThursday | 5 | 木曜日 |
vbFriday | 6 | 金曜日 |
vbSaturday | 7 | 土曜日 |
VBAサンプル
サンプル1
第3引数のfirstdayofweek引数の定数をFor文のカウンター値に指定して、(日曜日から土曜日)を取得する例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | Sub 基本サンプル1() Dim weekNum As Integer For weekNum = vbSunday To vbSaturday Debug.Print weekNum & ":" & WeekdayName(weekNum) Next '日曜日から表示 '【結果】 '1: 日曜日 '2: 月曜日 '3: 火曜日 '4: 水曜日 '5: 木曜日 '6: 金曜日 '7: 土曜日 End Sub |
サンプル2
第3引数のfirstdayofweek引数の定数をFor文のカウンター値に指定して、第3引数のfirstdayofweek引数の定数をvbMondayに指定し、(月曜日から日曜日)を取得する例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | Sub 基本サンプル2() '第2引数をvbMonday '月曜日から表示 Dim i As Integer For weekNum = vbSunday To vbSaturday Debug.Print weekNum & ":" & WeekdayName(weekNum, , vbMonday) Next '【結果】 '1: 月曜日 '2: 火曜日 '3: 水曜日 '4: 木曜日 '5: 金曜日 '6: 土曜日 '7: 日曜日 End Sub |
サンプル3
第3引数のfirstdayofweek引数の定数をFor文のカウンター値に指定して、第2引数のabbreviateをTrue指定で、書式が曜日なしの(日から土)を取得する例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | Sub 曜日省略サンプル() '第2引数をTrue '曜日の文字を省略 Dim weekNum As Integer For weekNum = vbSunday To vbSaturday Debug.Print weekNum & ":" & WeekdayName(weekNum, True) Next '【結果】 '1: 日 '2: 月 '3: 火 '4: 水 '5: 木 '6: 金 '7: 土 End Sub |
サンプル4
Weekday関数を使用して指定した日付の曜日を取得する例
1 2 3 4 5 6 7 8 9 | Sub Weekday関数使用サンプル() 'Weekday関数使用して曜日名を取得 Debug.Print WeekdayName(Weekday("2021/7/25")) '【結果】 '日曜日 End Sub |
まとめ
曜日を取得したい場合はこの関数を使用してみてください。
以上です。
日付の変換
【関数】(DATEVALUE)文字形式の日付をシリアル値の日付に変換
【関数】(YEAR,MONTH,DAY)日付から年,月,日を取得
時間
【VBA】(TimeValue)文字列の時間や数式から時刻を取得
【VBA】(TimeSerial)時,分,秒を指定して時刻を取得
【VBA】(Hour,Minute,Second)時,分,秒を分けて取得
現在の日時,日付
曜日や週
【VBA】(WeekdayName)数値や定数を指定で曜日取得
土日や祝日
【関数】(WORKDAY)土日,祝日,指定日を除いた日付を取得
【関数】(NETWORKDAYS)土日,祝日,指定日を除いた日数を取得