期間中の営業日をVBAで求めるにはWorkSheetFunction.NetworkDaysを使用します。
祝日の判定を行うために、事前に祝日の日付をシートに書き込んでおく必要があります。
祝日は内閣府から提供されているcsvファイルの内容をコピーして使用します。
国民の祝日について - 内閣府
リンク先の 昭和30年(1955年)から令和5年(2023年)国民の祝日(csv形式:20KB) をクリックして
csvファイルをダウンロードします。
シートの名前はholidayとし、データの1行目はヘッダーとしています。

期間中の営業日を求めるコードは以下になります。
Option Explicit
Public Function GetWorkdays(start_day As Date, end_day As Date) As Long
'###################################################################################
'stard_day日からend_day間の営業日数を返す
'祝日が記載されたシートが必要
'-----------------------------------------------------------------------------------
'引数 :start_day 開始日
' :end_day 終了日
'戻り値:営業日数
'###################################################################################
Dim holidaySht As Worksheet
Set holidaySht = ThisWorkbook.Worksheets("holiday")
Dim lastRow As Long
lastRow = GetMaxRowUsedRange(holidaySht)
GetWorkdays = Application.WorksheetFunction.NetworkDays(start_day, end_day, holidaySht.Range("A2:A" & lastRow))
Set holidaySht = Nothing
End Function
Private Function GetMaxRowUsedRange(sht As Worksheet) As Long
'###################################################################################
'シート内の使用されている最終行を取得する
'-----------------------------------------------------------------------------------
'引数 :sht シートオブジェクト
'戻り値:sht内で使用されている最終行
'###################################################################################
GetMaxRowUsedRange = sht.UsedRange.Rows(sht.UsedRange.Rows.Count).Row
End Function
Public Sub TestGetWorkDays()
Dim days As Long
days = GetWorkdays(#8/1/2023#, #8/31/2023#)
MsgBox "2023/8/1~2023/8/31の営業日は" & days & "日です。", vbInformation
days = GetWorkdays(#9/1/2023#, #9/30/2023#)
MsgBox "2023/9/1~2023/9/30の営業日は" & days & "日です。", vbInformation
End Sub
TestGetWorkDays
を実行すると、2023年8月と9月の営業日数がメッセージボックスで表示されます。
2023/8/1~2023/8/31の営業日は22日です。
2023/9/1~2023/9/30の営業日は20日です。