業務改善
Excel VBAで作ったシステム、担当者が変わったらどうする?
ぴーす君
Excel VBAで作ったシステム、担当者が変わったらどうする?
Excel VBAで業務を自動化すると、これまで手作業で行っていた仕事を大幅に効率化できます。
「毎月行っていた作業がボタン一つで終わる」 「100件のデータを処理していた作業が数分で終わる」
こうした仕組みは、日々の業務にとって大きな助けになります。
しかし、システムを作ったときには、もう一つ考えておきたいことがあります。
そのシステムを作った担当者が変わったら、どうするのでしょうか?
担当者の異動や退職は、どの会社でも起こります。
そして、担当者が変わったときに問題になるのは、単純に「VBAのコードが読めるかどうか」だけではありません。
重要なのは、
業務やデータが変わったとき、そしてエラーが発生したときにも対応できるように作られているか
ということです。
「今の業務」を自動化することはできても……
社内でVBAを作る場合、その業務を実際に担当している人が開発するケースも多いと思います。
これは大きなメリットがあります。
実際の業務をよく知っている人が作るため、
「このデータを取り込んで」 「この条件で集計して」 「この帳票を出したい」
といった、現場の細かな要望をシステムに反映しやすいからです。
そのため、現在行っている業務を自動化するという点では、非常に有効です。
一方で、システムを長く使うことを考えると、別の問題が出てくることがあります。
例えば、次のようなケースです。
元となるデータの構造が変わった
これまで取り込んでいたデータに列が追加された。
項目名が変更された。
データの並び方が変わった。
こうした変更は、業務そのものが変われば当然起こり得ます。
しかし、VBAが「これまでのデータ構造」を前提として作られていると、変更によって処理が動かなくなることがあります。
エラーが起きたときに、原因を調べにくい
VBAにエラーチェックが入っていること自体は珍しくありません。
「エラーが発生したらメッセージを表示する」
という仕組みは、比較的簡単に作ることができます。
しかし、実際に必要なのは、
「エラーが発生した」
だけではありません。
どの処理で、何が原因でエラーになったのか。
そして、
エラーが発生した後、どこまで処理が完了しているのか。
ここまで分からなければ、担当者が変わったときに対応するのは難しくなります。
「一つの処理」にまとめすぎない
ここで、VBAを業務システムとして作る際にWork Pieceが特に意識していることがあります。
それは、
処理を工程ごとに分けること
です。
例えば、データを使って帳票を作るシステムなら、
Step 1:データの取り込み
↓
Step 2:データの加工
↓
Step 3:データの出力
というように、処理を分けて考えます。
一つのマクロですべてを一気に処理する方法もあります。
しかし、それでは途中でエラーが発生したときに、その後の対応が難しくなる場合があります。
例えば、100件のデータを取り込んで加工・出力する処理を考えてみます。
データの取り込みは問題なく完了した。
ところが、その後のデータ加工で一部のデータに問題があり、エラーが発生した。
このとき、すべてを一つの処理として作っていると、
「最初からやり直す」
という対応が必要になるかもしれません。
しかし、取り込み・加工・出力を分けておけば、
取り込みは完了しているので、取り込みからやり直す必要はありません。
加工部分だけを確認し、必要であれば手動でフォローする。
その後、加工が完了した状態から出力を行う。
このように、問題が発生した工程だけを確認・修正できるようにしておくことができます。
これは、単に「コードをきれいに書く」という話ではありません。
実際に業務を止めないための設計です。

VBAは「作って終わり」ではない
業務で使うシステムは、完成した時点がゴールではありません。
使い始めれば、
業務のやり方が変わる
元データが変わる
新しい項目が追加される
例外的なデータが入ってくる
エラーが発生する
担当者が変わる
といったことが起こります。
つまり、VBAシステムには、
「現在の業務を自動化する」
だけではなく、
「将来、業務やデータが変化することを考えておく」
という視点も必要になります。
すでにあるVBAシステムも、見直すことができます
もし、
「以前の担当者が作ったVBAが残っている」 「担当者が異動してしまい、修正できる人がいない」 「業務が変わって、今のVBAでは対応できなくなってきた」
という状況になっているのであれば、すぐに作り直す必要があるとは限りません。
現在のExcelやVBAがどのような仕組みになっているのかを確認し、
どこまで現在の業務に対応できているのか
どこに問題があるのか
どこを修正すればよいのか
そのまま使い続けられるのか
を整理するところから始めることもできます。
VBAシステムは、作って終わりではありません。
担当者が変わっても、業務が変わっても、できるだけ長く使い続けられる。
そんなことまで考えて作ることが、業務で使うVBAには大切なのだとWrok Pieceは考えています。