関数・メソッド

日付から曜日を取得する【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以外使用しないと思います。省略して問題ありません。

定数内容
vbUseSystem0システムで設定されている最初の曜日
vbSunday1日曜(既定値)
vbMonday2月曜
vbTuesday3火曜
vbWednesday4水曜
vbThursday5木曜
vbFriday6金曜
vbSaturday7土曜

関連記事

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

 

コメント

タイトルとURLをコピーしました