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