子どもが通っている放課後デイから、毎月「翌月の利用予定を記入する利用予定表」をもらっています。ところが、その利用予定表には祝日に関する修正漏れがときどきありました。毎月手入力で修正していることが原因だろうなと感じていました。
利用予定表はExcelで作られていて、最初のシートが原紙、その後に続く利用者ごとのシートが原紙シートの値を参照する仕組みになっているようでした。実際に放課後デイの先生に確認してみると、やはりその通りでした。
利用予定表はカレンダー形式で、利用者ごとにシートが作られています。利用者シートでは、利用者名欄に名前を入力し、固定で利用する曜日の列が太枠で囲まれていました。
毎月の修正作業
- 表の基準日を翌月に変更する
- 祝日がある月は、該当日のフォント色を赤に変更する
- 祝日名をその日の下のセルに入力する
年度変わりの修正作業
- 固定で利用する曜日が変わった利用者について、該当する曜日の太枠を修正する
- 退所した利用者のシートを削除する
- 新しく入所した利用者のシートを作成する
これらも一つひとつは難しい作業ではありませんが、利用する曜日の変更や利用者の入れ替わりがあるたびに、シートを手作業で調整する必要があります。毎月の祝日修正と合わせると、「人が増えるほど手作業が増える仕組み」になってしまっていることが気になっていました。
そこでふと、「原紙シートを元に、毎月利用者ごとのシートを自動で作るプログラムを VBA で作ればいいのでは?」と思いつきました。
以前 IT 関係の仕事をしていた経験を活かし、Excel の VBA でプログラムを作ってみることにしました。
こうして完成したものが、私にとって最初の VBA プログラムでした。
