関数・メソッド

日付から曜日を取得する【WeekDay/WeekDayName関数】【ExcelVBA】

構文

WeekDay(Date,FirstDayOfWeek)  As Integer

Date・・・・・・・・曜日を調べる日付を指定
FirstDayOfWeek  ・・週の第1日目の曜日を指定(省略可能)
戻り値 ・・・・・・・何曜日かを整数値で返します。
WeekDayName(WeekDay,abbreviate,FirstDayOfWeek)  As String
WeekDay・・・・・・・・曜日を表す数値を指定
abbreviate  ・・・・・・・曜日名を省略するかどうか (省略可能)規定値False=省略しない
FirstDayOfWeek  ・・・・週の第1日目の曜日を指定(省略可能)
戻り値 ・・・・・・・・・何曜日かを文字列で返します。

WeekDay/WeekDayName関数のサンプルコード

Public Sub sample_Weekday_WeekdayName()

    '■通常の使い方
    Debug.Print Weekday("2021/02/24")               '4
    Debug.Print WeekdayName(Weekday("2021/02/24"))  '水曜日
    
    '■水曜日→水と「曜日」を省略
    Debug.Print WeekdayName(Weekday(Date), True)    '水 (2021/02/24の場合)
    
    
    '■エラーの場合
    Debug.Print Weekday("")            '実行時エラー13 型が一致しません
    Debug.Print WeekdayName("水曜日")  '実行時エラー13 型が一致しません

End Sub

注意点

  • 日付データ以外はエラーとなる為、事前にIsDate関数で日付かどうか判断しましょう。
  • WeekdayName関数は0~7以外の数値以外はエラーです。 WeekDay関数と併用して使用しましょう。

FirstdayOfWeekの定数

基本は規定値のvbSunday以外使用しないと思います。省略して問題ありません。

定数 内容
vbUseSystem 0 システムで設定されている最初の曜日
vbSunday 1 日曜(既定値)
vbMonday 2 月曜
vbTuesday 3 火曜
vbWednesday 4 水曜
vbThursday 5 木曜
vbFriday 6 金曜
vbSaturday 7 土曜

関連記事

数値データかどうか判断する【IsNumeric関数】【ExcelVBA】
日付データかどうか判断する【IsDate関数】【ExcelVBA】
時刻データかどうか判断する【IsDate関数応用】【ExcelVBA】
配列かどうか調べる【IsArray関数】【ExcelVBA】
Nullデータかどうか判断する【IsNull関数】【ExcelVBA】
Emptyデータかどうか判断する【IsEmpty関数】【ExcelVBA】
セルの値がエラーかどうか判断する【IsError関数】【ExcelVBA】

 

コメント