構文
構文は以下の通りです。
WorksheetFunction.NetworkDays(開始日, 終了日, [休日])
解説
NetworkDays関数は、開始日から終了日までの営業日(平日)の数を計算する関数です。土日を賞賛し、必要に応じて特定の日を休日として指定できます。開始日は、計算を開始する日付を指定します。日付型または日付を表すセルを参照します。終了日は、計算を終了する日付を指定します。日付型または日付を表すセルを参照します。休日(省略可能)は、土日以外の休日をリストで指定します。
プログラミング例
具体的なプログラミング例を紹介します。
(例1)基本的な使い方(休日なし)
Sub 営業日数を計算する()
Dim 開始日 As Date
Dim 終了日 As Date
Dim 営業日数 As Integer
' 開始日と終了日を指定
開始日 = #2024/09/01#
終了日 = #2024/09/30#
' NetworkDays関数を使って営業日数を計算
営業日数 = WorksheetFunction.NetworkDays(開始日, 終了日)
' 結果を表示
MsgBox "営業日数は " & 営業日数 & " 日です。"
End Sub
Dim 開始日 As Date
Dim 終了日 As Date
Dim 営業日数 As Integer
' 開始日と終了日を指定
開始日 = #2024/09/01#
終了日 = #2024/09/30#
' NetworkDays関数を使って営業日数を計算
営業日数 = WorksheetFunction.NetworkDays(開始日, 終了日)
' 結果を表示
MsgBox "営業日数は " & 営業日数 & " 日です。"
End Sub
上記のプログラムは、9月1日から9月30日までの営業日を計算しています。土日を集中した営業日が表示されます。
(例2)休日を含めた計算
Sub 休日を含めた営業日数を計算する()
Dim 開始日 As Date
Dim 終了日 As Date
Dim 営業日数 As Integer
Dim 休日(1 To 2) As Date
' 開始日と終了日を指定
開始日 = #2024/09/01#
終了日 = #2024/09/30#
' 休日を指定
休日(1) = #2024/09/18# ' 祝日など
休日(2) = #2024/09/25# ' 祝日など
' NetworkDays関数を使って、土日と指定した休日を除いた営業日数を計算
営業日数 = WorksheetFunction.NetworkDays(開始日, 終了日, 休日)
' 結果を表示
MsgBox "営業日数は " & 営業日数 & " 日です。"
End Sub
Dim 開始日 As Date
Dim 終了日 As Date
Dim 営業日数 As Integer
Dim 休日(1 To 2) As Date
' 開始日と終了日を指定
開始日 = #2024/09/01#
終了日 = #2024/09/30#
' 休日を指定
休日(1) = #2024/09/18# ' 祝日など
休日(2) = #2024/09/25# ' 祝日など
' NetworkDays関数を使って、土日と指定した休日を除いた営業日数を計算
営業日数 = WorksheetFunction.NetworkDays(開始日, 終了日, 休日)
' 結果を表示
MsgBox "営業日数は " & 営業日数 & " 日です。"
End Sub
上記のプログラムでは、指定した休日(9月18日と9月25日)を含めて営業日数を計算しています。このように特定の日を休日として指定できます。
まとめ
NetworkDays関数は、指定した期間の営業日数を計算するに便利な関数です。土日を自動的に褒めし、さらに任意の休日も指定することができます。実際の業務で、営業日の計算やプロジェクトの進行管理に活用できます。