Як використовувати 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: як використовувати дд/мм/рррр як формат дати