Как использовать функцию дня недели в vba (с примером)
Вы можете использовать функцию Weekday в VBA, чтобы получить день недели (в виде целого числа) по заданной дате.
Вот общий способ использования этой функции на практике:
Sub FindWeekday()
Dim i As Integer
For i = 2 To 9
Range(" B " & i) = WorksheetFunction.Weekday(Range(" A " & i))
Next i
End Sub
Этот конкретный макрос найдет день недели (в виде целого числа) для каждой даты в диапазоне A2:A9 и отобразит результаты в диапазоне B2:B9 .
Обратите внимание, что следующие целые числа соответствуют каждому дню недели:
- 1 : воскресенье
- 2 : понедельник
- 3 : Вторник
- 4 : среда
- 5 : Четверг
- 6 : Пятница
- 7 : Суббота
В следующем примере показано, как использовать функцию «День недели» на практике.
Примечание . Если вы предпочитаете возвращать день недели в качестве имени, вместо этого вам следует использовать функцию WeekdayName.
Пример. Используйте функцию Weekday в VBA, чтобы найти день недели.
Предположим, у нас есть следующий столбец даты в Excel:
Предположим, мы хотим получить день недели (в виде целого числа) для каждой даты и отобразить результаты в столбце B.
Для этого мы можем создать следующий макрос:
Sub FindWeekday()
Dim i As Integer
For i = 2 To 9
Range(" B " & i) = WorksheetFunction.Weekday(Range(" A " & i))
Next i
End Sub
Когда мы запускаем этот макрос, мы получаем следующий вывод:
В столбце B отображается день недели (в виде целого числа) для каждой даты в столбце A.
Например:
- 01.01.2023 — воскресенье, поэтому функция Weekday возвращает 1 .
- 04.01.2023 — среда, поэтому функция Weekday возвращает 4 .
- 23.02.2023 — четверг, поэтому функция Weekday возвращает 5 .
И так далее.
Примечание . Полную документацию по функции VBA Weekday можно найти здесь .
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в VBA:
Как сравнить даты в VBA
Как преобразовать дату в номер недели в VBA
Как рассчитать дни между двумя датами в VBA