Excelマクロは業務の効率化に役立つものですが、「処理の内容がブラックボックス化する」「メンテナンスできる人がおらず、かえって手間がかかる」などの問題を引き起こすこともあります。Excelマクロとどう付き合うか、おさえるべきポイントを考えてみます。

Excelマクロのいいところ、悪いところ

(いいところ)
今まで数時間かかっていたような作業がものの数分で終わるようになる、劇的な効率化
自動化によるミスの削減
1度作ってしまえば、誰でもできる作業になる

(悪いところ)
単なる自動化だけを目的とした場合、インプットに対してなぜこのアウトプットができるのかブラックボックス化してしまう
マクロは決められたことしかしないので、人が見ればわかる異常にも気づけない
メンテナンスにはExcelマクロのスキルが必要なので、業務要件についてこれないという事態が起こる
内部統制においてExcelマクロの処理内容を調査・検証するのは大変

Excelマクロの問題は「作りやすく」「読みづらい」ことでおこります

いいところは存分に享受するとして、悪いところをどう抑えていくかが重要
まず、悪いところはなぜ起こるのか考えてみましょう

Excelマクロは、大半のビジネスPCにインストールされている「Excel」さえあれば誰でも作れる環境にある→始めやすい
厳格な書き方をしなくてもある程度動いてしまう→人によってソースコードの書かれ方がまちまち、想定外のデータが入ってきた時に
通常Excelマクロは自業務を効率化したいというニーズから作り始められることが多い→あくまで自分用のUI・自分が使う業務範囲内の検証しか行われていない

Excelマクロの会社内での立ち位置を決めましょう

システムの1つとして位置付ける→メンテナンスも業務の1つ
あくまで便利ツール→複雑な処理は書かず、単機能のマクロを組み合わせて使う
マクロ一覧をどこの部署で管轄するか

今後のExcelマクロは「読みやすく」「変えやすく」「捨てやすく」

システム開発と比べて作成者のレベル差もまちまちなので、コメントをなるべく入れる
共通でよく使う機能はモジュール化して公開しておき、テンプレートとして使うことでコーディング量を減らす
マクロ実行するための前提条件を明確に、またシートのフォーマット変更時のマクロ変更点を明確にしておく
マクロが何らかの原因で動かなくなった時のために、手作業でやる場合のプロセスも残しておく
今あるマクロにこだわりすぎず、必要な機能だけで作り直すことも検討する