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

VBA WeekdayName 関数

はじめに

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

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

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

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

構文

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

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

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

引数「最初の曜日」

曜日 説明
vbSunday (既定)日曜日
vbMonday月曜日
vbTuesday火曜日
vbWednesday水曜日
vbThursday木曜日
vbFriday金曜日
vbSaturday土曜日

解説

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

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

曜日名の省略を省略するか False を指定すると、曜日名は省略されません。「日曜日」の形式で返します。

曜日名の省略に False を指定すると「日」の形式で返します。

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

使用例

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) ' 月曜日
  • 目次
    • 構文
    • 解説
    • 使用例