スケジュール表の管理を効率よく行う方法【 管理業務で役立つシステム 】

豆父ちゃん
こんな悩みを解決します。
結論から言うと、Excel VBAを使えば複数のデータを一括管理することができます!勤続10年のサラリーマンが考案したスケジュール表一括管理システムを紹介します。
スケジュール一括管理システムに使われている複数のエクセルファイルを操作するVBAについて下記の記事で詳しく紹介しています。
エクセル業務の効率をアップさせたいと考えている方は是非チェックしてみてください。
目次
スケジュール一括管理システムとは
スケジュール一括管理システムとは、スケジュール管理をしているエクセルの情報を別のエクセルファイルに反映させる!というものです。一言では説明しきれない複雑なVBAなので、このVBAを開発した経緯から順を追って説明します。
スケジュール管理業務で起こりやすい問題点
複数のスケジュールを別々のエクセルで管理していると、1つのスケジュール表に予定が追加されると他のスケジュール表にも同じ内容の予定追加をしなければなりません。
これによる問題点が、スケジュール表の更新漏れによる作業調整のミスが発生してしまうこと!です。
忙しい時期になるとスケジュール表に関するエクセルが4つ以上にになることがあり、全てのエクセルデータの内容を統一するだけで仕事が終わってしまいます。ミスが発生するたびに対策会議を時間をかけて行っていたのですが、次は気をつけよう!といった内容でいつも終わっていました。
スケジュール一括管理システムの開発
上記のような問題を解決するためにスケジュール一括管理システムを開発しました。このシステムのメイン機能は、登録してある複数のエクセルファイルと同期することができる!ということ。
例えば、2020年1月1日に休みを取ろうとしたとき、勤務表に年休の「年」の文字を入力。そしてVBAを実行すると、登録してあるエクセルの超過勤務整理簿に年休の情報が反映されます。
登録する「エクセルの場所」を追加すれば、同期するエクセルファイルをいくらでも増やすことが可能です。
スケジュール一括管理システムの応用
このシステムはスケジュール管理業務以外にも応用することができます。
- 物品購入リストと要求書
- 工事完了リストと工事予定表
- 設備台帳と工事予定表
私の仕事の場合、上記のような業務に応用して導入しています。
同じような内容の処理を複数のエクセルを使って行っている!という業務に応用することが可能。手間のかかる作業を自動化して作業の効率を上げたいという方におすすめのシステムです。
別ブック同期機能
関数Dirを使って他のエクセルファイルを編集し、編集した内容の統一をします。
関数Dirについては下記の記事で詳しく説明しています。
今回は勤務表と超過勤務整理簿を同期させる!というVBAを紹介します。
勤務表の見本
超過勤務管理表の見本
① 勤務表 → 登録した超過勤務整理簿に情報を反映
② 登録した超過勤務整理簿 → 共有の勤務表に情報を反映
スケジュール一括管理システムでは、それぞれの編集内容を同期させることによって更新漏れを防ぐことができます。
同期するエクセルファイルを登録する方法
別ブックを編集するということは、「開く」→「編集」→「保存」→「閉じる」という処理をしています。
この処理のなかで注意が必要なのが、「開く」という項目です。
なぜかというと、複数の人が共有のエクセルファイルを扱う場合「読み取り専用」になる可能性が非常に高いからです。読み取り専用のエクセルを勝手に開いて編集することはできません。
このようなとき、「読み取り専用」になった場合プログラムを中止し、終了させる!というVBAを追加しておけば安心です。同期させたいエクセルが読み取り専用になっていないことを確認してから再度同期作業を行いましょう。
同期処理の動作内容
伊藤さん、黒田さん、桂さん3人分の勤務表と超過勤務整理簿を一瞬で統一することができます。今回は勤務表⇔超過勤務整理簿の同期を行っていますが、様式をしっかり作り込めばどんなデータ同士でも同期させることが可能です。
複数のエクセルファイルに同じ内容の変更処理を行っている方におすすめのVBAです。
カレンダー機能
カレンダー機能はスケジュール表にとって最低限必要な機能です。
- 閏年の設定
- 曜日の設定
- 土曜、日曜に色をつける
今回紹介している勤務表と超過勤務整理簿には上記の項目を自動で処理するVBAを組んでいます。
年数設定の変更のやり方
年数を変更して実行をするだけで全てのSheetの設定が変更になるので、年数や年度が変わったときの処理がとても簡単。仕事で使っているものでは年休の「年」があると灰色に塗り潰す設定を追加しています。
私の職場でよく起こる間違いが、年度が替わると日付と曜日の設定がおかしくなってしまう!ということです。

豆父ちゃん
細かいことかもしれませんが、ちょっとした間違いが思わぬトラブルを起こしてしまいます。スケジュール表は毎日使う重要なものなので、いろんなことを自動化して間違いの発生を防ぎましょう。
カレンダー機能について下記の記事で詳しく紹介しています。
転記機能
スケジュール表のSheetは、「設定Sheet」と「1月Sheetから12月Sheet」の合計13個のSheetがあり、氏名や社員番号のような「入力内容が変わらない情報」を全てのSheetへ入力するという作業には手間がかかります。
転記機能では設定Sheetに氏名や社員番号を入力すると全てのSheetにその情報が転記されるようになっていて、入力間違いや手間が省けるのでとても便利です。
プルダウンリスト設定
勤務種別と勤務時間の内容を設定Sheetに一覧表として記入しておけば、この内容をプルダウンリストに表示することが可能です。
「A」や「B」や「年」などの記号を入力する仕様なので、プルダウンリストに表示するのは「勤務種別」の欄を使います。
氏名が入力されている行だけプルダウンリストが表示される設定にしています。空欄の行にもプルダウンリストが表示されると見栄えが悪いのでこのような設定にしました。
プルダウンリストの表示条件をしっかり作り込んで使いやすいものにすることをおすすめします。
VBA初心者が効率化マクロを導入する方法
VBAなんて扱ったことないけどエクセル作業を自動化するマクロを導入したい!
このような問題を抱えながら日々のエクセル業務をこなしている方がおおくいらっしゃるのではないでしょうか。
こんな問題を解決する方法がこちら
- マクロの開発を外注に依頼する
- マクロが設定されたエクセルファイルをダウンロードする
- 参考書やネットでVBAスキルを身に付ける
VBAの勉強を始める前は上記の方法で効率化マクロを導入していました。
完成されたマクロを使ってエクセル業務を処理する
↓
作業効率が2倍以上アップ!!
↓
便利すぎて自分でもマクロを設定したいと考え始める
↓
参考書やネットの情報でVBAスキルを身に付ける
↓
マクロ開発を代行できる程のスキルを習得
VBAは
他のプログラミングに比べて参考書やネットで紹介されている情報量が多いので初心者でも導入しやすい
という特徴があります。
毎日のルーティーン作業にうんざりしている、だれでもできる単純作業に時間を費やしている、という方はあなたに合った方法でVBAを導入しちゃいましょう。
マクロの開発を外注に依頼する
マクロの開発を外注に依頼する導入方法は
VBAを全く扱えない方でもエクセル作業を自動化できる最も簡単な方法
です。
「こんなエクセル作業を自動化したい」「作った資料を自動的にPDFで保存したい」「決まった様式に写真を自動で貼り付けたい」
こんな感じで実現したい内容を依頼するだけで業務内容に合ったマクロを開発してくれます。

ガッツポーズの人
デメリットは、費用がかかることだけ。
開発内容、依頼先によってかかる費用は大きく異なります。
私が会社員の頃利用していた業者さんは1マクロあたり2万円~3万円の費用がかかりました。

疑問がある人
ちなみに、マメBlogでもエクセルマクロ開発代行サービスを承っています。
開発内容の確認、VBAコードの設定、動作確認後の調整、など全ての工程を私(マメ父ちゃん)が行っているので、
費用が安い!スピード納期!!
でやらせてもらっています。
ほとんど独学で身に付けたVBAスキルなので、内容によっては開発できないこともあるのでご了承ください。
ご相談、見積もり依頼は完全無料ですので気になる方は下記のリンクよりお問合せ下さい。
マクロが設定されたエクセルファイルをダウンロードする
VBA初心者でも『マクロが設定されたエクセルファイルをダウンロード』ですぐにエクセル作業を自動化することができます。
たとえば、
A4用紙に写真を貼り付けてコメントを入力する作業を自動化したい!という場合、
『写真を貼り付けるマクロ』が設定されたエクセルファイルをダウンロードすれば問題解決です。
実際に、『写真を貼り付けるマクロ』をダウンロードして使っている様子がこちら

ガッツポーズの人
『マクロが設定されたエクセルファイルをダウンロード』する導入方法は、
VBA初心者でもマクロを導入できる、費用が安い、
というメリットがあります。
しかし
VBAに関する情報が多く公開されているとはいえ、ネット上で想定するマクロは見つけることが難しい
というデメリットもあります。

ガッツポーズの人
個人ブログやファイルを販売できるサイト「note」や「Tips」ではいろんなマクロの情報が掲載されているので是非参考にしてみてください。
今までマメBlogで受注した効率化マクロを下記のnoteで掲載していますので併せてチェックしてみてください。
参考書やネットでVBAスキルを身に付ける
先程も紹介しましたが、
VBAは他のプログラミングに比べて参考書やネットで紹介されている情報量が多いので初心者でも導入しやすい
プログラミングです。
言い換えると、
情報量が豊富なので自分で勉強できちゃう
ということです。
私のVBAスキルはほとんど独学で身に付けたもので、
考えた処理のほとんどをVBAで表現できるレベルにまで到達した!
と思っています。
私の作ったマクロをプロのプログラマーが見れば、
お前の書くコードはインチキだ!「変数の宣言」とか「引数」を正しく使えよ!!
と感じるはずです。
でも、
私からすればどうでもいい!!!想定した内容を正しく処理できればよくないですか!?
独学であっても『写真を貼り付けるマクロ』『全てのシートをPDF出力するマクロ』『連番を振るマクロ』など、
業務内容に合ったマクロを開発できるようになれます。
独学でVBAスキルを身に付けるコツは、
エラーが発生してもいいからひたすらコードを書く、なんでもいいからエクセル作業をマクロ化してみる
です。
とは言っても、全くの知識0の方は何をすればいいかわからないですよね。
VBA知識0の初心者の方は、参考書『たった1秒で仕事が片づくExcel自動化の教科書【増強完全版】』を読んでみてください。
VBAの知識0の方でもすいすい読み進められる内容になっています。
やさしい内容にも関わらず「え!!VBAを使えばこんなことできるの!?」と感動すると思います。
実際に私はこの参考書を読んでからVBAの勉強を始めました。

ひらめく人
VBAの魅力を発見した後は、
ひたすら自動化したい処理を実現するコードを書くだけ
です。
【VBA 写真を貼る】、【VBA PDF出力】、のようにネット検索すれば知りたいコードをすぐにゲットできます。
実現したい処理に向かって、「調べる→書いてみる→エラーを改善する→調べる」を繰り返していると
自然といろんなマクロが作れるようになっているはずです。
VBAに興味が湧いてきたという方は今からVBA学習をスタートさせちゃいましょう。
ディスカッション
コメント一覧
まだ、コメントがありません