https://jp.quora.com/VBA%E3%81%A7%E6%A7%8B%E6%88%90%E3%81%95%E3%82%8C%E3%81%9FEXCEL%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AF-%E7%95%B0%E5%8B%95%E3%81%AA%E3%81%A9%E3%81%A7%E6%AC%A1%E3%81%AE%E6%8B%85%E5%BD%93%E8%80%85%E3%81%AB
他の質問の回答でも書いたのですが、VBAツールの開発やメンテナンスは、「ひとり」の人にやらせてはだめです。「二人以上」のチームで行うべきなんです。
複数人で行えば、情報共有のためのコーディング規約、仕様書の作成、上司への報告、引き継ぎのフローなどもきちんとルール化され、コード自体の質も向上すると思います。
VBAを理解してるしてないにかかわらず、そもそもその部署の管理者が管理できていないツールがあること自体が問題なんです。
なぜ管理できていないのかと言うと、「チームリーダー」がいないからです。チームリーダーと管理者の連携がないんです。
チームリーダーを置くためには、何はともあれ「チームを作る」ことが先決です。
チームができれば、お金をかけないRPAも可能になると思います。
そもそも、残った人は全員VBAを理解していない…ってことでは、どうしようもありません。そうなったら、マクロを含むシートのメンテは原作者がやるしかないですよね。これが結構ありがちなパターンだと思います。
幸い、VBAを理解できる人がいる場合は、マクロを徹底的にわかりやすく書くことでしょうかね。私はその一環として、普段なら気持ち悪いので絶対やらない、漢字かな交じり日本語の変数名を使うこともしました。引き継がれた人が理解しやすいようにすると言う大義名分の下、まあ許してもらおうと。
そうした引き継ぎ問題の主因は、引き継ぎ相手のVBAスキルが低く、書いてあるコードが理解できないというところにあるので、いっそ引き継がないという選択肢も考慮すべきです。属人的なVBAに頼ってる作業などそれほどクリティカルではないだろうと割り切ってしまいましょう。
VBAを使わない事です。
そもそも、ガチのプログラム言語をマトモに要員管理、資産管理もしない職場で軽々しく使って良いものではなかったのです。
しかし、今更というものあるでしょうから、プログラマを動員(無理なら教育)するのが最も良いかと思います。
そして、VBAのExcelブックも部署内資産として、キチンと管理して、その先のVBAの無断開発を禁止する事です。
Excel-VBAをのメンテナンス性を高めるには「仕様書をきちんと書いておく」となりますが、コーディングより仕様書の方が長くなる上に、VBAが判らない人にはあっても宝の持ち腐れとなります。
私もExcel-VBAで業務効率化をしていた経験がありますが、次のことを実践してました。
VBA内で定数を定義しないでエクセルのセル上で定義する。
VBA内の変数、処理ロジックにコメントをやたら多く入れておく。
サブを多用し、処理ループ・流れを一覧できるようにしておく。
などですが、処理ロジックが大きく変わるとやはりVBAが判る人が必要になりますので、定数変更で対応できない場合には、VBAの分かるプロに見てもらうこととしていました。それが無理なら捨ててとも言ってました。
0 コメント:
コメントを投稿