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

VBA WeekdayName 関数

はじめに

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

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

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

構文

WeekdayName(曜日)

WeekdayName(曜日, 曜日名の省略, 最初の曜日)

名前 説明
引数「曜日」Weekday 関数で取得した曜日の値を指定します。
引数「曜日名の省略」省略できます。曜日の名前を省略するかを Boolean 型で指定します。
引数「最初の曜日」省略できます。週の最初の曜日を何曜日にするか指定します。
戻り値文字列型 (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) ' 月曜日

関連ページ