サイトについて      連絡先   検索

VBA WeekdayName 関数

はじめに

Excel VBA マクロの WeekdayName 関数を紹介します。

WeekdayName 関数は、指定した曜日の名前を返します。

曜日の名前を取得したいときに使用します。

  • 目次
    • 構文
    • 解説
    • 使用例

構文

WeekdayName(曜日)
1 (日曜日) ~ 7 (土曜日) の曜日の名前を取得します。

WeekdayName(曜日, 曜日名の省略, 最初の曜日)
曜日名の省略をするか指定できます。週の最初の曜日を指定できます。

引数「曜日」Weekday 関数で取得した値を指定します。
引数「曜日名の省略」省略できます。
True: 省略する。
False または省略: 省略しない。
引数「最初の曜日」省略できます。週の最初の曜日を何曜日にするか指定します。
戻り値の型文字列型 (String)

引数「最初の曜日」

曜日 説明
vbSunday (既定)日曜日を 1 とする。
vbMonday月曜日を 1 とする。
vbTuesday火曜日を 1 とする。
vbWednesday水曜日を 1 とする。
vbThursday木曜日を 1 とする。
vbFriday金曜日を 1 とする。
vbSaturday土曜日を 1 とする。

解説

引数「曜日」には「Weekday 関数」で取得した値を指定します。

引数「曜日」に1 ~ 7以外の値を指定するとエラーが発生します。

引数「曜日名の省略」を省略するかFalseなら日曜日の形式で返します。

引数「曜日名の省略」がTrueならの形式で返します。

引数「最初の曜日」には「Weekday 関数」の引数「最初の曜日」と同じ値を指定します。

結果を英語で取得するには「Format 関数」を使用します。

日曜日以外の形式で取得するには「Choose 関数」を使用します。

使用例

1

Dim s As String
Dim i As Integer

i = Weekday("2017/1/1")
s = WeekdayName(i)
Debug.Print(s) ' 日曜日

s = WeekdayName(i, False)
Debug.Print(s) ' 日曜日

s = WeekdayName(i, True)
Debug.Print(s) ' 日

i = Weekday("2017/1/2")
s = WeekdayName(i)
Debug.Print(s) ' 月曜日

i = Weekday("2017/1/1", vbSunday)
s = WeekdayName(i, False, vbSunday)
Debug.Print(s) ' 日曜日

i = Weekday("2017/1/1", vbMonday)
s = WeekdayName(i, False, vbMonday)
Debug.Print(s) ' 日曜日

' Weekday と WeekdayName の最初の曜日が違うため結果がずれます。
i = Weekday("2017/1/1", vbSunday)
s = WeekdayName(i, False, vbMonday)
Debug.Print(s) ' 月曜日

曜日を英語で取得する。


Dim s As String

s = Format("2017/1/1", "ddd")
Debug.Print(s) ' Sun

s = Format("2017/1/1", "dddd")
Debug.Print(s) ' Sunday

s = Format("2017/1/1", "aaa")
Debug.Print(s) ' 日

s = Format("2017/1/1", "aaaa")
Debug.Print(s) ' 日曜日

好きな文字列で取得する。


Dim s As String
Dim i As Integer

i = Weekday("2017/1/1")
s = Choose(i, "日曜日", "月曜日", "火曜日", "水曜日", "木曜日", "金曜日", "土曜日")
Debug.Print(s) ' 日曜日

i = Weekday("2017/1/1")
s = Choose(i, "にち", "げつ", "か", "すい", "もく", "きん", "ど")
Debug.Print(s) ' にち
  • 目次
    • 構文
    • 解説
    • 使用例