【VBA】期間中の営業日数を求める

VBA

期間中の営業日をVBAで求めるには
WorkSheetFunction.NetworkDaysを使用します。

祝日の判定を行うために、事前に祝日の日付を
シートに書き込んでおく必要があります。
今回は2018年度の祝日をシートに書き込んでおきます。

祝日 祝日名
2018/1/1 元日
2018/1/2 年始休日
2018/1/3 年始休日
2018/1/8 成人の日
2018/2/11 建国記念の日
2018/2/12 振替休日
2018/3/21 春分の日
2018/4/29 昭和の日
2018/4/30 振替休日
2018/5/3 憲法記念日
2018/5/4 みどりの日
2018/5/5 こどもの日
2018/7/16 海の日
2018/8/11 山の日
2018/9/17 敬老の日
2018/9/23 秋分の日
2018/9/24 振替休日
2018/10/8 体育の日
2018/11/3 文化の日
2018/11/23 勤労感謝の日
2018/12/23 天皇誕生日
2018/12/24 振替休日
2018/12/29 年末休日
2018/12/30 年末休日
2018/12/31 年末休日

シートの名前はholidayとし、データの1行目はヘッダーとします。

 

期間中の営業日を求めるコードは以下になります。

holidayシートの最終行を取得するためgetMaxRowを使用しています。
getMaxRowの詳細についてはこちらをご覧ください。

【VBA】最終行・最終列を取得する
for文などで1行目から最終行、または1列目から最終列まで 連続して処理を行いたいときがあります。 この記事では最終行と最終列を取得するVBAのサンプルコードをご紹介します。

 

7月と9月の営業日数を求めてみます。
テストコードは以下になります。

 

getWorkdaysの最初の引数に営業日数を求めたい期間の開始日を入力します。
getWorkdaysの2番目の引数に営業日数を求めたい期間の終了日を入力します。

テストコードを実行すると7月と9月の営業日が表示されます。

コメント