Excel VBA:最新の祝日情報をExcelへ表示する方法

Excelでよく見かけるのが祝日専用のシートに祝日一覧を記載してそれをカレンダー系のシートでvlookupなどで判定して祝日なら色付けするというような方法ですが、この祝日専用シートの祝日はネットで検索した情報などをコピペなどで手動設定しているケースが多いです。

今回はボタン2つで最新の祝日情報をExcelに表示するVBAのサンプルコードをご紹介します。

最新の祝日用のCSVファイルは内閣府が公開している最新の祝日ファイルを使用します。

目次

VBA サンプルコード「祝日CSVのダウンロード」

  • 上記で照会した内閣府の祝日CSVファイルをダウンロードするVBAコードとなります。

VBA サンプルコード「ダウンロードしたCSVをExcelへ表示」

  • ダウンロードしたCSVファイルを読み込んでExcelへ表示するVBAコードとなります。

実行結果例

✅ 1) 最新祝日情報の “自動取得API” を使う(CSV以外の方法)

Holidays-JP API(JSON/CSV)

ネット上で最新の日本の祝日データを JSON または CSV 形式で取得できる API があります(GitHub で公開)。
内閣府データと違い、過去〜当年〜翌年まで柔軟に取得可能です。

📌 URL 例

JSON を VBA で扱う場合は、標準では扱えないため VBA-JSON ライブラリの導入が一般的です。


✅ 2) Power Query + API で最新の祝日一覧を Excel に直接取得する(VBA不要)

Excel の標準機能 Power Query を使えば、Web API から祝日データを自動で取り込んで一覧を作れます。
これは Excel 2016 以降でかなり強力です。

手順例:

  1. 「データ → Web から」
  2. Holidays-JP API の JSON URL を指定
  3. Power Query で「祝日一覧テーブル」に変換
  4. Excel のシートへロード

この方法なら VBA を書かなくても、年度変更に対応できます。


✅ 3) Google カレンダー API から祝日を取得する方法(API キー方式)

Googleカレンダーに公式の日本祝日カレンダーがあるため、
Google Calendar API を利用すると Excel でも VBA から動的取得が可能です。
※ API キー発行と OAuth の設定が必要です。


✅ 4) VBA で直接 JSON を扱う際のコツ

API が JSON で返す場合は JSONパースライブラリが必要です(例えば VBA-JSON)。
JSON 内でキーが日付、値が祝日名なので、辞書的扱いが楽になります。


✅ 5) 祝日データを Excel で使う際の便利な周辺テクニック

🎯 ■ NETWORKDAYS ファミリーを活用した稼働日数計算

Excel の WORKDAYNETWORKDAYS 関数に、祝日一覧を渡せば
土日+祝日込みの稼働日数計算ができます。

=NETWORKDAYS(A1,B1, 祝日一覧範囲)

✅ 6) 内閣府 CSV のメリット・デメリット

メリット

  • 公的で最も正確
  • CSV なので Excel で読み込み容易

デメリット

  • Web API で自動取得しないと 毎年手動更新が必要
  • VBA で取り扱うには ダウンロード処理 + Parse が必要

📌 まとめ:最新祝日データ活用の選択肢

方法自動更新実装難度VBA スキル
内閣府 CSV をダウンロード❌ 手動更新🔰 初心者向け
Holidays-JP API + VBA✅ 自動中級
Power Query + API✅ 自動初〜中不要
Google Calendar API✅ 自動上級
0 0
Article Rating
申し込む
注目する
guest
0 コメント一覧
最も古い
最新 高評価
インラインフィードバック
すべてのコメントを見る
目次
0
あなたの考えが大好きです、コメントしてください。x