Как использовать networkdays в vba (с примером)
Вы можете использовать метод NetworkDays в VBA, чтобы найти количество полных рабочих дней между определенными датами начала и окончания.
Обратите внимание, что рабочие дни исключают выходные и праздничные дни.
Вот распространенный способ использования этого метода на практике:
Sub CalculateNetworkDays()
Dim i As Integer
For i = 2 To 9
Range("C" & i) = WorksheetFunction.NetworkDays(Range("A" & i), Range("B" & i))
Next i
End Sub
В этом конкретном примере вычисляет количество рабочих дней между датами начала в диапазоне A2:A9 и датами окончания в диапазоне B2:B9 и отображает результаты в диапазоне C2:C9 .
В следующем примере показано, как использовать этот синтаксис на практике.
Пример: как использовать NetworkDays в VBA
Предположим, у нас есть следующий список дат начала и окончания в Excel:
Допустим, мы хотим использовать метод NetworkDays в VBA для расчета количества целых рабочих дней между датами начала и окончания каждой строки.
Для этого мы можем создать следующий макрос:
Sub CalculateNetworkDays()
Dim i As Integer
For i = 2 To 9
Range("C" & i) = WorksheetFunction.NetworkDays(Range("A" & i), Range("B" & i))
Next i
End Sub
Когда мы запускаем этот макрос, мы получаем следующий вывод:
В столбце C показано количество полных рабочих дней между датами начала и окончания в каждой строке.
Например:
- Количество рабочих дней с 02.01.2023 по 03.01.2023 равно 2 . (поскольку эти две даты приходится на выходные).
- Количество рабочих дней с 05.01.2023 по 08.01.2023 равно 2 .
- Количество рабочих дней в период с 10.01.2023 по 20.01.2023 — 9 .
И так далее.
Примечание . Полную документацию по методу NetworkDays в VBA можно найти здесь .
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в VBA:
VBA: как получить название месяца из даты
VBA: как использовать IsDate, чтобы проверить, является ли ячейка датой
VBA: как использовать мм/дд/гггг в качестве формата даты