Функция VBA WeekdayName возвращает имя дня недели на основе его номера.
WeekdayName(дата)
Или
WeekdayName(дата, первая_день_недели)
По умолчанию первый день недели – воскресенье (1), а последний – суббота (7).
Чтобы изменить нумерацию так, чтобы понедельник был первым днем недели (1), а воскресенье – последним (7), добавьте значение 2 как второй аргумент при использовании этой функции:
WeekdayName(дата, 2)
Использование функции WeekdayName для отображения названия 7 дней:
Sub WeekdayNameExample1() MsgBox WeekdayName(1) 'Возвращает: понедельник MsgBox WeekdayName(2) 'Возвращает: вторник MsgBox WeekdayName(3) 'Возвращает: среда MsgBox WeekdayName(4) 'Возвращает: четверг MsgBox WeekdayName(5) 'Возвращает: пятница MsgBox WeekdayName(6) 'Возвращает: суббота MsgBox WeekdayName(7) 'Возвращает: воскресенье End Sub
Функция WeekdayName также может отображать сокращенную версию дня, введя значение как второй аргумент:
Sub WeekdayNameExample2() MsgBox WeekdayName(1, True) 'Возвращает: Пн. MsgBox WeekdayName(2, True) 'Возвращает: Вт. MsgBox WeekdayName(3, True) 'Возвращает: Ср. MsgBox WeekdayName(4, True) 'Возвращает: Чт. MsgBox WeekdayName(5, True) 'Возвращает: Пт. MsgBox WeekdayName(6, True) 'Возвращает: Сб. MsgBox WeekdayName(7, True) 'Возвращает: Вс. End Sub
Используя функции Weekday и WeekdayName, вы можете получить название дня недели по дате:
Sub WeekdayNameExample3() MsgBox WeekdayName(Weekday("30/11/2020", 2)) 'Возвращает: понедельник End Sub
Хотя проще перейти напрямую через функцию форматирования FORMAT:
Sub WeekdayNameExample4() MsgBox Format("30/11/2020", "dddd") 'Возвращает: понедельник End Sub