Vba で networkdays を使用する方法 (例付き)
VBA でNetworkDaysメソッドを使用すると、特定の開始日と終了日の間の全体の営業日数を確認できます。
営業日には土日祝日は含まれませんのでご了承ください。
このメソッドを実際に使用する一般的な方法は次のとおりです。
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に表示します。
次の例は、この構文を実際に使用する方法を示しています。
例: VBA で NetworkDays を使用する方法
Excel に次の開始日と終了日のリストがあるとします。
VBA でNetworkDaysメソッドを使用して、各行の開始日と終了日の間の全営業日数を計算するとします。
これを行うには、次のマクロを作成できます。
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 は、各行の開始日と終了日の間の全営業日数を示します。
例えば:
- 2023 年 1 月 2 日から 2023 年 1 月 3 日までの営業日は2です。 (これら 2 つの日付は週末にあるため)。
- 2023 年 1 月 5 日から 2023 年 1 月 8 日までの営業日は2です。
- 2023/01/10 から 2023/01/20 までの営業日数は9です。
等々。
注: VBA のNetworkDaysメソッドの完全なドキュメントは、ここで見つけることができます。
追加リソース
次のチュートリアルでは、VBA で他の一般的なタスクを実行する方法について説明します。
VBA:日付から月名を取得する方法
VBA: IsDate を使用してセルが日付かどうかを確認する方法
VBA: mm/dd/yyyy を日付形式として使用する方法