Как использовать функцию дня недели в 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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *