本ページには広告が含まれています。

ExcelVBA WeekdayName関数 指定の曜日名を返す

ExcelVBA WeekdayName関数 指定した曜日名を返す

Excel VBAの「WeekdayName 関数」について解説します。

スポンサーリンク

WeekdayName 関数とは

Excel VBA の WeekdayName 関数は、指定された曜日を表す文字列を返します。

では、WeekdayName 関数の構文や引数の設定と実際の使い方について具体的に解説していきたいと思います。

WeekdayName 関数(Visual Basic for Applications リファレンス)

構文(引数と戻り値)

Excel VBAの関数を使いこなすには、関数の構文を正しく理解しておくことが重要です。

構文

Weekday(weekday[, abbreviate][, firstdayweek])

引数

引数 説明
weekday【必須】曜日を示す数値を指定します
※ 引数 firstdayofweek の設定値によって異なります
abbreviate【省略可能】曜日を省略するかどうか指定します
※ 曜日を省略するときは True を指定します
※ 既定は False(曜日を省略しない)です
firstdayweek【省略可能】週の開始曜日を定数(値)で指定します
※ 省略時の規定は、日曜日です

引数 firstdayofweek に指定できる定数(値)

定数内容
vbUseSystem0各国語サポート(NLS)API設定を使用
vbSunday1日曜(既定値)
vbMonday2月曜
vbTuesday3火曜
vbWednesday4水曜
vbThursday5木曜
vbFriday6金曜
vbSaturday7土曜

戻り値

戻り値説明
曜日を表す文字列1 から 7 までに対応する曜日名を返します

引数 firstdayofweek に指定がある場合は、指定された曜日が起点の「1」となり、引数 Weekday の値に対応する曜日名が返されます。

↓定数(or値) / Weekdayの値→1234567
vbSunday(1) 【既定】
vbMonday(2)
vbTuesday(3)
vbWednesday(4)
VbThursday(5)
VbFriday(6)
VbSaturday(7)

解説(使用例)

WeekdayName 関数のサンプルコードを使って解説します。

WeekdayName 関数の引数と戻り値を確認するサンプル

WeekdayName 関数の引数と戻り値を MagBox で表示して確認するサンプルです。
※ エラー処理等は省略していますのでご了承ください。

'■WeekdayName関数サンプル
Sub WeekdayName_Sample()
  '必要な変数を宣言
  Dim s As Date     '日付用
  Dim i As Integer  '週起点用
  Dim b As Boolean  '「曜日」表示省略用
  Dim id As Integer 'Weekday関数の結果用
  
  'InputBoxで日付を入力(Defaultは本日)
  s = InputBox("日付を入力してください(yyyy/mm/dd)", , Date)
  
  'InputBoxで曜日の起点を入力(Defaultは[1])
  i = InputBox("曜日の起点を1-7の数字で入力してください" & _
        vbCrLf & "日=1,月=2,火=3,水=4,木=5,金=6,土=7", , 1)
  
  'InputBoxで「曜日」を省略するかどうか(Defaultは[0])
  b = InputBox("曜日を省略する場合「1」を入力します" & _
        vbCrLf & "省略しない場合は「0」です", , 0)
  
  'Weekday関数で週番号を取得して変数に入力
  id = Weekday(s, i)
  'MsgBoxで結果を表示する
  MsgBox "WeekdayName(" & id & ", " & b & ", " & i & ")" & _
    vbCrLf & "の結果は、「" & WeekdayName(id, b, i) & "」です"
End Sub

引数 Weekday の値(曜日を示す数値)は Weekday 関数 を使って取得する設定です。
では、コードの実行順に表示される画像を順番に見ていきましょう。

10行目の InputBox で指定日付を入力させます。デフォルトで当日を表示するように設定しています。

WeekdayName_Sample InputBox1

13行目の InputBox では曜日の起点 firstdayofweek を設定します。デフォルトで「1」を表示しています。

WeekdayName_Sample InputBox2

17行目の InputBox は戻り値の「曜日」の文字列を省略するかを設定します。デフォルトで省略しない「0」を表示しています。

WeekdayName_Sample InputBox3

21行目の id = Weekday(s, i)Weekday 関数 を使って曜日を表す整数を取得して変数に代入しています。

23~24行目の設定で実行結果を MsgBox に表示するようにしています。

Weekday_Sample 実行結果のMsgBox画像

「曜日」を省略するよう引数 abbreviate に「True」を設定した場合「」が返ります。

日付・時刻関数の使用例について

Date 関数のほか「日付・時刻」の関数について解説しているこちらの記事もご覧いただければ幸いです。

Timer など覚えておきたい日付時刻の処理について、より詳しい解説記事がこちらです。サンプルコードも複数掲載していますので是非ご覧ください。

おわりに

Excel VBA WeekdayName 関数は、指定された曜日を示す数値に対応する曜日を表す文字列(曜日名)を返します。

Weekday 関数 の解説で使用したサンプルでは、曜日名を表示させるために曜日の配列を用意して対応しましたが、 WeekdayName 関数を使えばその手間は必要なく曜日名を表示させることができます。

以上、この解説が少しでもみなさまのお役に立てたなら幸いです(^^;

VBAの関数一覧はこちらからご参照ください。

スポンサーリンク
スポンサーリンク

VBAサンプルファイルダウンロードページのご案内

このページで使用したサンプルファイルの登録はありません(^^;
ページ内のコードをコピーしてご利用ください。

ダウンロードページへのリンクは下のカードクリックでジャンプできます。
よろしければご利用ください!