見出し画像

WBS作成・予定・実績管理・イナズマ線(全部のせ)・マクロVBA

割引あり

過去、WBS自動作成やセル入力をトリガーにした予定・実績管理、イナズマ線を引く・削除するなど私が実際に仕事で使っていたマクロをご紹介してきました。

記事を読んでいただいたり、ご購入いただいたり、ご質問をいただいたりで私も改めて勉強になったりで、本当に感謝しています。

そこで今回は、予定・実績管理をシート入力トリガーでなく、マクロ実行により行う方式に変更した全部のせバージョンをご紹介したいと思います。

まずは、利用イメージをご紹介していければと思います。

1. WBS自動作成

(1) 入力用シートに必要項目を入力する

入力用シートにプロジェクト名、開始月、終了月、L2タスクとL2タスクに紐づくL3タスク数を記載します。

こんな感じで入力します。L3タスク数は後で行追加削除すればいいので適当で。

(2)マクロを実行してWBSを作成する

出来上がるものは、WBS+ガントチャートって感じのものなのですが細かいことは置いておいて・・・。

WBSは作業する人間向けですが、ガントチャートは報告時にそのまま利用できるので作業管理と報告が同時にできて便利なフォーマットだと思ってます。

開発タブ→マクロ→wbsフォーマット作成を選択して「実行」ボタンを押下します。(オプションでショートカットキーを指定しておくと、便利です)

開発タブ→マクロ→マクロ名を選択して、実行。

一応、有料としますが添付しているエクセル上はショートカットキーをCtrl+Shift+Wに設定してますのでそれでも実行できます。

実行すると、以下のフォームが出来上がると思います。

wbsシートにフォーマットが作成される

土曜日は青で、日曜日は薄オレンジで色塗りされる仕様ですが、祝日一覧シートに今回2023年の祝日を全て登録したので、祝日も薄オレンジで色塗りされます。(祝日一覧シートのA列に祝日日付があれば、フォーム作成時に参照して処理してくれます)

また、読者の方のご質問により、閏年判定や複数年にまたがるプロジェクトの際に不具合が生じる点も修正を入れてあります。

そして、ここにL3タスクとそれぞれの予定開始日・終了日をプロジェクト開始までに入れていきます。
これを元に、基準日時点での予定・実績管理を行なっていくのが全体イメージです。

L3タスクと予定開始・終了日を入れます

2. 進捗管理の流れ

では、プロジェクトが開始前である前提で9/15基準日に入力した予定開始日・終了日を元にガントチャートに判定をしてみます。

(1)予定一括処理モジュールを実行する

基準日に9/15と入力し、先ほどと同様に開発タブ→マクロ→マクロ名「予定一括処理」を実行します。(有料記事のエクセルを使用される方は、ショートカットキーCtrl+Shift+Pでも実行可能)

基準日を入力してマクロを実行します

実行すると、以下のように予定期間に◻︎が入力されます。

カレンダー上で予定が可視化されます。

(2) 着手遅延の判定

例えばこのまま、10/1からプロジェクトが開始し、10/2基準日で時点の進捗管理をするとします。
その際、10/1開始のフォーマット作成タスクが未着手だった場合は、予定一括処理をすると以下のようになります。

基準日が10/2、未着手なので実績開始日が未入力
フォーマット作成タスクの進捗欄に「遅延」と表示されます。

(3) 実績処理の実施

では、この状態で10/2基準の実績処理を行います。
開発タブ→マクロ→マクロ名「実績一括入力」を実行します。
(有料版のエクセルを使用する場合、ショートカットキーCtrl+Shift+Aでも実行可)

実績一括入力モジュールを実行する
何も変わらない

足元フォーマット作成タスクしか開始予定が到来しておらず、しかも着手遅延なので、何も表示は変わりません。

(4) イナズマ線を引く

ではイナズマ線を引いてみましょう。
開発タブ→マクロ→マクロ名「イナズマ線を引く」を実行します。
(有料版のエクセル使用の場合は、Ctrl+Shift+Lで実行可能)

イナズマ線を引くと記載があるマクロ名のものを実行
着手遅延タスクの部分が凹んで描画されます。

(5) リスケと着手済タスクの進捗管理

では、さらに基準日を10/6に進めましょう。

フォーマット作成タスクは、想定よりも作業内容が多かったため、予定終了日を10/10にリスケすることとし10/3に着手、並行して作業可能な土日・祝日判定機能作成は10/5に予定通り着手し作業中という前提とします。

予定終了日と実績開始日を以下のように更新します。

フォーマット作成タスクの予定終了日を10/10に変更し、実績開始日を10/3に。土日・祝日判定機能作成の実績開始日を10/5とします。

まずは予定一括入力モジュールを実行します。

フォーマット作成タスクの◻︎が変更され、進捗欄にリスケ表示される

フォーマット作成タスクがリスケされたことが分かります。(単純にオンとはならない)

次に実績一括入力モジュールを実行します。

作業済部分が◼︎表示され、進捗オンはその旨表示される

そして、一度イナズマ線を削除して、再度イナズマ線を描画します。

開発タブ→マクロ→マクロ名「イナズマ線削除」で削除します。
(有料版エクセルはCtrl+Shift+Dで実行可能)

イナズマ線を削除
イナズマ線を再度描画

リスケにより、フォーマット作成タスクはリスケ後オンの状態となったため、イナズマ線の凹みは無くなりました。

(6) 前倒し着手と完了登録

では、ここから更に基準日を進め10/11時点まで飛んでみます。
フォーマット作成、土日・祝日判定機能作成、予定開始・終了読み取り機能は全て予定通り進んだとします。

また、プロジェクトが円滑に回り出し、ガントチャートへの予定開始・終了登録機能タスクは10/10に前倒し着手したとします。

インプットは以下の通りとなります。

基準日や実績欄を更新する

次に予定一括入力処理を実行します。

実績終了したタスクは処理スキップするため表示される

完了済のタスクを更新してしまわないようになっているので、表示されたらOKを押して飛ばせば大丈夫です。

次に、実績一括入力処理を実行します。

実績反映し、終了タスクの進捗欄は完了に更新される

イナズマ線を削除し、再度描画します。

イナズマ線削除
イナズマ線を引く

10/11時点、プロジェクトは順調に進行しています。

(7) 進捗遅延の表し方

もう一つパターンとしてあるのが、完了遅延かと思います。

更に10/14まで日付が進んだとして、前倒ししたガントチャートへの予定開始・終了登録機能タスクが10/12に終了すべき作業にて課題が発覚し作業が止まっていたとします。

一方、10/13からの着手遅延・リスケ判定・進捗入力機能タスクは予定通り着手できているとします。

インプットは以下となります。

進捗が遅延した場合は、進捗欄に手で遅延と入力する

何も動かないですが、予定一括入力をした上で、実績一括入力をします。

進捗遅延の場合、◻︎が残る

イナズマ線を削除して、再度描画すると・・・

進捗(完了)遅延しているタスクが凹みます

こんな感じでWBSの予定・実績管理をしつつ、右側のガントチャートを見せて報告すれば報告を受ける側の人間も進捗報告を把握しやすくなります。

こんな使い方になります。

以降は有料版として、コード全文とエクセルファイルを掲載しますので、興味がある方は参照してみてください。
何か不具合や質問があれば、頑張って逐次対応・ご回答しますのでコメントも是非いただけたらと思います!!

3. 各モジュールのコード全文

ここから先は

22,884字 / 1ファイル

この記事が気に入ったらサポートをしてみませんか?