VBA
業務改善
Excel VBAで作ったシステム、自分で直せる?
ぴーす君
Excel VBAで業務を自動化するとき、意外と忘れられがちなのが「作った後」のことです。
最初は、
「この作業を自動化したい」 「この帳票をボタン一つで作りたい」
という目的でシステムを作ります。
無事に完成して、便利に使えるようになった。
ここまではいいのですが、しばらくすると、こんなことが起こります。
項目を1つ追加したい
帳票のレイアウトを変更したい
保存先を変更したい
新しい担当者にも使ってもらいたい
今までと違うケースにも対応したい
さて、このとき、そのExcel VBAは自分たちで直せるでしょうか?
「VBAだから自分で直せる」とは限らない
Excel VBAは、Excelの中にあるプログラムです。
そのため、
「Excelなんだから、少しくらいなら自分で変更できるのでは?」
と思われることがあります。
もちろん、簡単な変更なら可能です。
しかし、実際にはVBAのコードがどのような仕組みになっているのか分からないと、変更するのはなかなか難しいものです。
例えば、
「このボタンを押したときに何が起きているのか?」
を調べようとしても、ボタンから呼び出される処理、その処理から呼び出される別の処理……と、複数の場所に処理が分かれていることがあります。
一部分だけ変更したつもりが、別の機能に影響してしまうこともあります。
つまり、
「VBAで作ってある」ことと、「誰でも簡単に修正できる」ことは別の話です。
だから「作った後」を考えておく
業務で長く使うシステムなら、作るときから「あとで変更する可能性」を考えておくことが大切です。
例えば、
どこを変更すればいいのか分かる
設定値をコードの中に直接書き込まない
処理を役割ごとに分ける
シートの役割を明確にする
必要なところにコメントを残す
変更したときに影響する範囲を把握しやすくする
といった工夫があります。
これは、特別なことではありません。
家を建てるときに、後から配線や設備を変更する可能性を考えておくのと似ています。
「担当者が変わる」ことも考える
そして、もう一つ考えておきたいのが担当者の変更です。
作った本人がずっと使うとは限りません。
異動や退職で担当者が変わることもあります。
そのとき、新しい担当者が、
「このファイル、どうやって使うんですか?」
「この項目を追加したいんですが、どこを直せばいいんですか?」
となることがあります。
だからこそ、システムそのものだけではなく、
「そのシステムを知らない人が触る可能性」
まで考えておくと安心です。
大切なのは「変更できる余地」を残しておくこと
業務は、ずっと同じではありません。
最初は10人で使っていたものが、20人で使うようになるかもしれません。
帳票の様式が変わるかもしれません。
会社のルールが変わるかもしれません。
そのたびにシステムを一から作り直すのでは大変です。
そのためWork Pieceでは、VBAで業務システムを作るとき、
「今動けばいい」だけではなく、「後から変更することもある」
ということを意識しています。
コードを整理しておく。
設定する場所を分けておく。
処理の役割を分けておく。
そして、誰が見てもある程度仕組みが分かるようにしておく。
こうしたことが、数年後の「ちょっと変更したい」に効いてきます。
VBAは「作って終わり」ではない
業務改善のためのVBAは、完成した瞬間がゴールではありません。
実際に使い始めて、
「ここ、もう少しこうしたい」
という要望が出てくることがあります。
それは、悪いことではありません。
むしろ、実際の業務で使っているからこそ出てくる改善点です。
だからこそ、
「変更するかもしれない」ことを前提に作っておく。
これが、長く使えるExcel VBAシステムを作るうえで大切なことだと思います。
「VBAでシステムを作りたいけれど、後々の修正や引き継ぎが心配」
そんな場合は、作るものだけでなく、作った後のことも含めて相談することをおすすめします。