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

Left Caption

豆父ちゃん

勤務表、超過勤務簿、シフト表などを効率よく管理する方法はないの?

こんな悩みを解決します。

結論から言うと、Excel VBAを使えば複数のデータを一括管理することができます!勤続10年のサラリーマンが考案したスケジュール表一括管理システムを紹介します。

スケジュール一括管理システムに使われている複数のエクセルファイルを操作するVBAについて下記の記事で詳しく紹介しています。

エクセル業務の効率をアップさせたいと考えている方は是非チェックしてみてください。


 

スケジュール一括管理システムとは

スケジュール一括管理システムとは、スケジュール管理をしているエクセルの情報を別のエクセルファイルに反映させる!というものです。一言では説明しきれない複雑なVBAなので、このVBAを開発した経緯から順を追って説明します。

スケジュール管理業務で起こりやすい問題点

複数のスケジュールを別々のエクセルで管理していると、1つのスケジュール表に予定が追加されると他のスケジュール表にも同じ内容の予定追加をしなければなりません。

これによる問題点が、スケジュール表の更新漏れによる作業調整のミスが発生してしまうこと!です。

忙しい時期になるとスケジュール表に関するエクセルが4つ以上にになることがあり、全てのエクセルデータの内容を統一するだけで仕事が終わってしまいます。ミスが発生するたびに対策会議を時間をかけて行っていたのですが、次は気をつけよう!といった内容でいつも終わっていました。

 

スケジュール一括管理システムの開発

上記のような問題を解決するためにスケジュール一括管理システムを開発しました。このシステムのメイン機能は、登録してある複数のエクセルファイルと同期することができる!ということ。

例えば、2020年1月1日に休みを取ろうとしたとき、勤務表に年休の「年」の文字を入力。そしてVBAを実行すると、登録してあるエクセルの超過勤務整理簿に年休の情報が反映されます。

登録する「エクセルの場所」を追加すれば、同期するエクセルファイルをいくらでも増やすことが可能です。

スケジュール一括管理システムの応用

このシステムはスケジュール管理業務以外にも応用することができます。

 

  • 物品購入リストと要求書
  • 工事完了リストと工事予定表
  • 設備台帳と工事予定表

私の仕事の場合、上記のような業務に応用して導入しています。

同じような内容の処理を複数のエクセルを使って行っている!という業務に応用することが可能。手間のかかる作業を自動化して作業の効率を上げたいという方におすすめのシステムです。

 

別ブック同期機能

関数Dirを使って他のエクセルファイルを編集し、編集した内容の統一をします。

関数Dirについては下記の記事で詳しく説明しています。

今回は勤務表と超過勤務整理簿を同期させる!というVBAを紹介します。

 

勤務表の見本

 

超過勤務管理表の見本

 

① 勤務表 → 登録した超過勤務整理簿に情報を反映

 

② 登録した超過勤務整理簿 → 共有の勤務表に情報を反映

スケジュール一括管理システムでは、それぞれの編集内容を同期させることによって更新漏れを防ぐことができます。

 

同期するエクセルファイルを登録する方法

 

別ブックを編集するということは、「開く」→「編集」→「保存」→「閉じる」という処理をしています。

この処理のなかで注意が必要なのが、「開く」という項目です。

なぜかというと、複数の人が共有のエクセルファイルを扱う場合「読み取り専用」になる可能性が非常に高いからです。読み取り専用のエクセルを勝手に開いて編集することはできません。

このようなとき、「読み取り専用」になった場合プログラムを中止し、終了させる!というVBAを追加しておけば安心です。同期させたいエクセルが読み取り専用になっていないことを確認してから再度同期作業を行いましょう。

 

同期処理の動作内容

伊藤さん、黒田さん、桂さん3人分の勤務表と超過勤務整理簿を一瞬で統一することができます。今回は勤務表⇔超過勤務整理簿の同期を行っていますが、様式をしっかり作り込めばどんなデータ同士でも同期させることが可能です。

複数のエクセルファイルに同じ内容の変更処理を行っている方におすすめのVBAです。

 

カレンダー機能

カレンダー機能はスケジュール表にとって最低限必要な機能です。

 

  • 閏年の設定
  • 曜日の設定
  • 土曜、日曜に色をつける

今回紹介している勤務表と超過勤務整理簿には上記の項目を自動で処理するVBAを組んでいます。

 

年数設定の変更のやり方

 

年数を変更して実行をするだけで全てのSheetの設定が変更になるので、年数や年度が変わったときの処理がとても簡単。仕事で使っているものでは年休の「年」があると灰色に塗り潰す設定を追加しています。

私の職場でよく起こる間違いが、年度が替わると日付と曜日の設定がおかしくなってしまう!ということです。

Left Caption

豆父ちゃん

2020年9月9日は水曜日。なのにエクセルでは火曜日になっている!曜日で勤務調整をしたの?日付で勤務調整したの?どっち?

細かいことかもしれませんが、ちょっとした間違いが思わぬトラブルを起こしてしまいます。スケジュール表は毎日使う重要なものなので、いろんなことを自動化して間違いの発生を防ぎましょう。

カレンダー機能について下記の記事で詳しく紹介しています。

 

転記機能

スケジュール表のSheetは、「設定Sheet」と「1月Sheetから12月Sheet」の合計13個のSheetがあり、氏名や社員番号のような「入力内容が変わらない情報」を全てのSheetへ入力するという作業には手間がかかります。

転記機能では設定Sheetに氏名や社員番号を入力すると全てのSheetにその情報が転記されるようになっていて、入力間違いや手間が省けるのでとても便利です。

プルダウンリスト設定

勤務種別と勤務時間の内容を設定Sheetに一覧表として記入しておけば、この内容をプルダウンリストに表示することが可能です。

「A」や「B」や「年」などの記号を入力する仕様なので、プルダウンリストに表示するのは「勤務種別」の欄を使います。

 

氏名が入力されている行だけプルダウンリストが表示される設定にしています。空欄の行にもプルダウンリストが表示されると見栄えが悪いのでこのような設定にしました。

プルダウンリストの表示条件をしっかり作り込んで使いやすいものにすることをおすすめします。