Excelマクロを社内に導入する際に検討すべき6つのメリットと9つのデメリット
- keigo shiraishi
- 2021年10月29日
- 読了時間: 6分
更新日:2021年11月1日
ここではExcelマクロを社内に導入するかを悩む情シス部門・業務部門の方を対象として、そのメリットとデメリットについて紹介していきます。
先にデメリットの方から紹介していきます。
Excelマクロはその性質から「デメリットが許容できる場合に」という観点で考えた方が導入を検討しやすい面があります。

<デメリット>
①動作範囲に制約がある
Excelマクロは、Windows(PC)-Excel上で動作します。いわゆるウェブやスマホ、タブレット、別OS(※)では動作しません。このためExcelマクロを利用する場合には、将来的にこれらの環境での動作が必要なさそうだということを確認する必要があります。
※Mac(PC)上でも動作しますが一部機能に制限があります。二つのOS上での動作保証を行う場合には開発コストが大きく上がる恐れがあります。
②処理範囲に制約がある
Excelマクロは、あくまでもExcel操作自動化のための支援機能であり、最初から大規模なデータ処理を目的として作られた機能ではありません。大きなデータを扱う場合には処理が重くなりすぎて現実的に業務で利用するのは難しくなります。
③機能に制約がある
Excelマクロは、ウェブサーバーと比べて表現力や機能に制約があります。最近では一般的になったブラウザ上での高度なUI/UXを実現することはできず、またシステム連携機能に弱み(別のシステムにアクセスはできても、他のシステムからのアクセスに対して返信ができない)があります。特にこのシステム連携機能の弱みに関しては、せっかく作ったExcelマクロシステムについて、資産化や再利用できないという点を含んでいます。
④拡張性に問題がある
Excelマクロを構成するプログラミング言語(VBA)は、大規模な機能開発を想定して作られたものではありません。大きな機能を開発する場合や1つのマクロにたくさんの機能を詰め込んでいく場合には、開発効率やメンテナンス性の面で他のプログラミング言語の方が有利になるか、そもそも①〜③の面で限界を迎えて、まともに動作しないなどの状態に陥ってしまう可能性があります。
⑤動作が安定しない
クライアント環境のスペックにマクロが依存します。砕けた表現を使えば、いいパソコンを使えば早く動き、そうでないパソコンを使用すると遅くなるといったことがあります。特に後者の場合、実際の利用ケースとして、長い処理がかかった上に途中でExcelが落ちデータや今までの処理時間が無駄になるといったことが発生する可能性があります。またネットワークの影響も存在します。リモート上のファイルにアクセスする場合など「お昼時だと重い」といった事態が発生することもあります。
⑥動作しなくなる恐れがある
OSやオフィスソフトのバージョンを上げた場合に動作しなくなることがあります。マクロのソースコードは全く変えていないのに動かなくなることがあるので、原因究明に時間がかかったり、契約内容によっては追加の調査・改修費用が発生することがあります。
⑦属人化のリスクが生まれる
マクロを作成した人が社内からいなくなってしまうとそのマクロを保守することができなくなってしまいます。
また複雑な設定や手順を必要とするマクロを運用している場合には、その利用に熟練ある担当者がいなくなると業務に支障をきたすことがあります。
【補足】
やや技術的な内容とはなりますが、Excelマクロの初学者が書いたコードと、熟練者が書いたコードにも違いによる性質も考慮する必要があります。熟練者が書いたコードであればExcelマクロの性能の限界を引き伸ばしたり、途中で仕様変更を行なってもすぐに対応ができる(※)などのメリットがありますが、熟練者が書いたコードは初学者には理解が難しく、結局そのマクロの保守に関しては熟練者に依存してしまうというデメリットがあります。
※保守性に関して、熟練者が書いたコードは、プログラムを一部修正した時に修正がほかの部分に影響や不具合を与えてしまう、といった問題に強い面があります。参考「リグレッションテスト」「デグレーション」。ひどい場合にはずっとバグが出続け、検証テストが終わらないなどに繋がるので注意が必要となります。
⑧セキュリティへの対応が必要となる
Excelマクロを利用する場合には、セキュリティへの対応が必要となります。Excelマクロの利用を一度許可するとマクロに対する警戒心が薄れ、社内に悪意あるマクロが入ってしまった場合に、被害が拡大する恐れが出てきます。
社内で管理ルールがない場合には、無秩序に社内外でマクロファイルをやりとりしたり、マクロの利用に関して情シス部門への報告がなかったり(シャドーIT)、社内で同じようなマクロが林立することがあります(例:Aさんが大本を作り、Bさんが改善し、C部門は独自に改修したものを利用するなど)。
⑨管理コストがかかる
マクロの使い方や引き継ぎなどに管理コストがかかります。
また社内でマクロを安全に利用しようとすると、そのためのシステム対策費用(セキュリティソフト、研修コスト、安全な運用ルールづくりのコストなど)がかかります。
<メリット>
①低いコストで自動化を実現できる
ExcelマクロはVBAの記述だけで動作します。サーバーやデータベースの用意が必要がないため、その分、開発の工数の絶対量を減らせることができます。
小規模な用途であれば、より早く、より少ない金額で自動化を実現できます。
②効果がわかりやすい
Excel業務を改善する場合、Excelマクロの利用前と利用後の比較が行いやすいです。
業務時間が削減した、手入力のミスや手戻り作業がなくなった、ファイルの命名規則や帳票の書式に統一性が生まれた、など実際に業務改善の実感が得られやすい点が大きなメリットと言えます。
③運用費がかからない
ExcelマクロはExcelがあれば動作します。一般的なウェブシステムのようにサーバー費用がかかりません。
もちろん契約内容次第ですが、開発だけを依頼しそれで十分な場合には完全に保守運用費がかかりません。
④システムが停止した場合のリスクに強い
一般的に業務システムが停止してしまった場合には、システムサイドの対応が完了するまで業務が停止してしまう面があります。
一方でExcelマクロはあくまでExcelベースなので、現場部門側で対応できる余地があります。
⑤ちょっとしたビジネスニーズへの対応、微調整が効く
Excelベースの利点です。コメントやメモ、セルの色付けや他のファイルへの転用など微調整が効きます。
特定の顧客向けの帳票やデータを用意したり、部門内で使用していたものを経営部門への報告用に使ったりといった、ちょっとしたビジネスニーズへの対応が強い面があります。
⑥閉鎖ネットワークで使える
こちらもExcelマクロが検討される大きな理由の一つです。インターネットへの接続が制限される環境においても動作させることができます。
ただ一方で最近では「ゼロトラスト」という概念も登場しており、こちらの考慮も行う必要があります。
以上、6つメリットと9つデメリットを取り上げました。
Excelマクロを社内に導入するにあたって検討材料となればと思います。
ご覧いただきありがとうございました。
コメント