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

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *