Как использовать функцию workday в vba (с примером)


Вы можете использовать метод WorkDay в VBA, чтобы добавить или вычесть определенное количество рабочих дней из даты.

Вот распространенный способ использования этого метода на практике:

 SubAddWorkDays ()

Dim i As Integer

For i = 2 To 10
    Range("C" & i) = WorksheetFunction.WorkDay(Range("A" & i), Range("B" & i))
Next i

End Sub

Этот конкретный макрос добавляет количество рабочих дней, указанное в диапазоне B2:B10, к каждой дате в диапазоне A2:A10 и отображает результаты в диапазоне C2:C10 .

В следующем примере показано, как использовать этот синтаксис на практике.

Пример: как использовать функцию WorkDay в VBA

Допустим, у нас есть столбец дат в Excel, а также еще один столбец, в котором указано количество рабочих дней, добавляемых к каждой дате:

Мы можем создать следующий макрос, чтобы добавить количество рабочих дней в столбце B к каждой соответствующей дате в столбце A:

 SubAddWorkDays ()

Dim i As Integer

For i = 2 To 10
    Range("C" & i) = WorksheetFunction.WorkDay(Range("A" & i), Range("B" & i))
Next i

End Sub

Когда мы запускаем этот макрос, мы получаем следующий вывод:

По умолчанию в столбце C даты отображаются в виде серийных номеров.

Чтобы отобразить эти значения как распознаваемые даты, выделите диапазон C2:C10 , затем щелкните вкладку «Вставка» на верхней ленте, затем щелкните раскрывающееся меню «Числовой формат» и нажмите «Короткая дата» :

Каждый серийный номер теперь будет отображаться как дата:

В столбце C отображается каждая дата в столбце A с добавлением определенного количества рабочих дней в столбце B.

Обратите внимание: если мы укажем отрицательное число в столбце B, метод WorkDay вычтет это количество рабочих дней из даты в столбце A.

Примечание . Полную документацию по методу VBA WorkDay можно найти здесь .

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные задачи в VBA:

VBA: как получить название месяца из даты
VBA: как сортировать по дате
VBA: как добавить, если между двумя датами

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

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