職場では現場管理が主業務ですが、最近不景気で業務量が減り、少し暇を持て余しています。そんな様子を見かねた上司が、「会社で使っているエクセルの年間カレンダー改造してよ。休日設定とかボタン一発でできるようなやつ。あと祝日毎回調べるの面倒なんだけど何とかならない?ついでにうちの会社、1年単位の変形労働時間制採用してるから、休日設定するのにいちいち計算しなくてもいいようによろしく(ちゃんと覚えていませんがだいたいこんな感じで仕様を指示されました)。」無茶ぶりも甚だしいですね。私そもそも、エクセルのエキスパートじゃありませんし…
ダウンロード
免責事項を一読の上、理解いただける方のみダウンロードして下さい。尚、著作権は放棄しませんが、改変やローカルなコミュニティでの配布は自由に行って下さい。くれぐれも自己責任でお願いします。尚、本ファイルは xlsmファイル(マクロ機能付き)です。
calendar2.01.zip
仕様
レイアウト

休日設定
祝日ダウンロードのモジュールは以下のサイトのものを利用させていただきました。
その他
マニュアル
操作方法
1.マクロ機能を有効にする
環境によってはマクロが無効になっているかも知れません。有効にする方法は公式サイトを確認して下さい。

2.初期設定
[設定シート]から「年度」「年度始めの月」「週始めの曜日」「所定労働時間」をそれぞれ入力する。

3.祝日ダウンロード
「祝祭日取得」ボタンを押して祝日データをダウンロードする。

4.休日設定…一括設定
各項目毎に1年間全てを休日設定する。チェックを外すと設定が解除される。

4.休日設定…個別設定
設定したい日を選択し、右クリック。メニュー一番上から「休日に設定する」を選択する(複数選択可能)。解除する場合は同様に「設定を解除する」を選択する。

5.休日設定…一括解除
右クリックメニューから「全ての休日を解除する」を選択。

6.休日データ出力←NEW
「休日CSV出力」ボタンを押すと設定した休日がCSV形式でファイル出力できます(CSVファイルは本ファイルと同じフォルダに出力されます)。
初期設定部分はさわる頻度が少ないので横着して別シートでの入力にしました。休日設定部分はユーザビリティを考慮してマクロ機能を利用した処理を導入しています。
その他
ダウンロードしたファイルは個人情報を削除して保存するように設定されています。保存時の確認ダイアログがうっとうしい場合は、「ファイル」→「情報」の「ブックの検査」の下にある「これらの情報を保存できるようにする」をクリックして下さい。
最低限しか設定していません。ご自由に設定して下さい。ただしカレンダーの日付部分は休日数をカウントするのに書式を利用しているので「太字」は使用しないで下さい。
初期設定データは入力される度に休日設定が解除されます(カレンダーが変化しても設定した休日は追従しない為)。初期設定終了までは休日を設定しないで下さい。
[カレンダー]シートは書式以外の項目にロックがかかっています。数式などを変更する場合はシート保護を解除して下さい。
祝日データ取得の為、ネットワークに接続されている必要があります(データを引っ張ってきて一時ファイルをMyDocumentフォルダ内に作成します。データ取得後、そのファイルは削除されます)。接続されていない場合「ダウンロード失敗」と表示されます。
祝日カレンダーの更新タイミングは不明ですが、おそらく内閣府の発表があれば、割と早い段階で更新されるのでは?と思います。記事執筆時点では2020年までしか発表されていません。気になる方は以下のサイトをチェックしてみて下さい。
※2021年の祝日が発表されました。2020年度版のカレンダーが作成可能です(2020/2/17追記)。
不具合について
もし不具合があるようでしたら「お問い合わせフォーム」からご連絡下さい。善処します(仕様変更や要望は多ければ検討します)。
あとがき
白状すると、VBAの知識はほとんどありません(実話)。とにかく「ググる」ことと「動けばいい」の精神でなんとか完成させる事ができました。「動けばいい」程度のものをアップするのもどうかと思いますが、そこは暖かい目で見守っていただければ…
今回VBAコードを書きながら思ったのですが、素人でもググればなんとかなるな、と。コード自体は恥ずかしい部分もありますが、機能としては結構気に入っているので、次回以降、コード部分を機能単位で記事にしておさらいをしていくことにします。VBAに興味があるのに入り口でつまづいている人は是非読んでみてください。
それでは、最後までご高覧いただきありがとうございました。