[Excel]エクセルで万年カレンダー作りました。祝日ダウンロード、休日一括設定&CSV出力、始まり曜日選択など

Excelファイルダウンロード

職場では現場管理が主業務ですが、最近不景気で業務量が減り、少し暇を持て余しています。そんな様子を見かねた上司が、「会社で使っているエクセルの年間カレンダー改造してよ。休日設定とかボタン一発でできるようなやつ。あと祝日毎回調べるの面倒なんだけど何とかならない?ついでにうちの会社、1年単位の変形労働時間制採用してるから、休日設定するのにいちいち計算しなくてもいいようによろしく(ちゃんと覚えていませんがだいたいこんな感じで仕様を指示されました)。」無茶ぶりも甚だしいですね。私そもそも、エクセルのエキスパートじゃありませんし…

ダウンロード

免責事項を一読の上、理解いただける方のみダウンロードして下さい。尚、著作権は放棄しませんが、改変やローカルなコミュニティでの配布は自由に行って下さい。くれぐれも自己責任でお願いします。尚、本ファイルは xlsmファイル(マクロ機能付き)です。

本ファイルはExcel2016でしか動作確認を行っていません。(Excel2019は問題ないと思います。Excel2013も多分…)

バージョンアップ履歴
  • 2019/12/13 Ver1.00
  • 2020/3/30 Ver2.00 休日データをCSV出力する機能追加
  • 2020/4/9 Ver2.01 改ページプレビューで追加メニューが表示されない不具合を修正

仕様

レイアウト

レイアウト表示
  • 12か月分一括表示
  • 年度始めの月を選択可能(1月から12月)
  • 週始めの曜日を選択可能(日曜日、月曜日の2択)

休日設定

  • 祝日ダウンロード可能(Google icalカレンダーデータ)
  • チェックボックスで各曜日と祝日をそれぞれ一括休日設定
  • 右クリックメニューで個別に休日設定可能
  • 休日数を自動でカウント(各月&年間)
  • 設定した休日をCSV形式で出力←NEW

祝日ダウンロードのモジュールは以下のサイトのものを利用させていただきました。

その他

  • 休日から差し引いた日を稼働日としてカウント(各月&年間)
  • 設定した所定労働時間から1週間あたりの労働時間(年平均)を算出

マニュアル

操作方法

初期設定入力場所

2.初期設定

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

祝日取得ボタンの表示

3.祝日ダウンロード

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

休日一括設定

4.休日設定…一括設定

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

メニューから休日設定

4.休日設定…個別設定

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

メニューから一括解除

5.休日設定…一括解除

右クリックメニューから「全ての休日を解除する」を選択。

CSV出力ボタンの表示

6.休日データ出力←NEW

「休日CSV出力」ボタンを押すと設定した休日がCSV形式でファイル出力できます(CSVファイルは本ファイルと同じフォルダに出力されます)。

初期設定部分はさわる頻度が少ないので横着して別シートでの入力にしました。休日設定部分はユーザビリティを考慮してマクロ機能を利用した処理を導入しています。

その他

ファイルの保存について

ダウンロードしたファイルは個人情報を削除して保存するように設定されています。保存時の確認ダイアログがうっとうしい場合は、「ファイル」→「情報」の「ブックの検査」の下にある「これらの情報を保存できるようにする」をクリックして下さい。

書式について

最低限しか設定していません。ご自由に設定して下さい。ただしカレンダーの日付部分は休日数をカウントするのに書式を利用しているので「太字」は使用しないで下さい。

初期設定について

初期設定データは入力される度に休日設定が解除されます(カレンダーが変化しても設定した休日は追従しない為)。初期設定終了までは休日を設定しないで下さい。

シート保護について

[カレンダー]シートは書式以外の項目にロックがかかっています。数式などを変更する場合はシート保護を解除して下さい。

ネットワークについて

祝日データ取得の為、ネットワークに接続されている必要があります(データを引っ張ってきて一時ファイルをMyDocumentフォルダ内に作成します。データ取得後、そのファイルは削除されます)。接続されていない場合「ダウンロード失敗」と表示されます。

祝日カレンダー更新について

祝日カレンダーの更新タイミングは不明ですが、おそらく内閣府の発表があれば、割と早い段階で更新されるのでは?と思います。記事執筆時点では2020年までしか発表されていません。気になる方は以下のサイトをチェックしてみて下さい。

※2021年の祝日が発表されました。2020年度版のカレンダーが作成可能です(2020/2/17追記)。

不具合について

もし不具合があるようでしたら「お問い合わせフォーム」からご連絡下さい。善処します(仕様変更や要望は多ければ検討します)。

一括設定でチェックとは違う曜日が選択される現象を報告いただいています。[ファイル]→[アカウント]→Office更新プログラム[更新オプション]→[今すぐ更新]でOfficeを更新することで問題が解決できたとの事です。同様の不具合が発生した場合は「Officeの更新」を試してください。当方でも当不具合を再現出来次第、解決策を検討します。

あとがき

白状すると、VBAの知識はほとんどありません(実話)。とにかく「ググる」ことと「動けばいい」の精神でなんとか完成させる事ができました。「動けばいい」程度のものをアップするのもどうかと思いますが、そこは暖かい目で見守っていただければ…

今回VBAコードを書きながら思ったのですが、素人でもググればなんとかなるな、と。コード自体は恥ずかしい部分もありますが、機能としては結構気に入っているので、次回以降、コード部分を機能単位で記事にしておさらいをしていくことにします。VBAに興味があるのに入り口でつまづいている人は是非読んでみてください。

それでは、最後までご高覧いただきありがとうございました。

タイトルとURLをコピーしました