Excel・紙からの移行
Excelマクロ(VBA)の属人化をどう解消する?Webアプリへの置き換えという選択肢
ボタンを押すと集計表ができあがる、請求書が自動で作られる――便利なExcelマクロ(VBA)が、いつの間にか業務の中心になっている会社は少なくありません。ところが、作った担当者が異動や退職をすると、誰も中身を直せない「ブラックボックス」になってしまいます。マクロの属人化にどう向き合うか、Webアプリへの置き換えという選択肢も含めて考えます。
マクロの属人化が問題になるきっかけ
属人化したマクロは、普段は問題なく動いているため、リスクに気づきにくいものです。多くの場合、次のような出来事をきっかけに表面化します。
- 作った人の不在:異動、退職、長期休暇で、修正や問い合わせができなくなる
- 業務ルールの変更:税率、料金体系、取引先の条件などが変わり、マクロを直す必要が出てくる
- 環境の変化:パソコンの入れ替え、Excelのバージョンや設定の変更、社内のセキュリティ方針の変更などで、これまでどおり動かなくなる
- ファイルの破損や誤操作:シートの削除や上書きで、元に戻せなくなる
どれも、起きてから対応しようとすると業務が止まります。問題が起きる前に、マクロの中身を把握しておくことが大切です。
最初にやるべきは「棚卸し」
マクロをどうするかを決める前に、まずは何をしているのかを把握します。コードが読めなくても、次の観点で整理すれば、処理の全体像はつかめます。
| 確認すること | 書き出す内容の例 |
|---|---|
| きっかけ | どのボタンを押すか、いつ実行するか(毎日、月末など) |
| 入力 | どのシートや外部ファイルのデータを使うか |
| 処理 | 集計、並べ替え、転記、計算、条件による振り分けなど |
| 出力 | 新しいシート、印刷、PDF、別ファイル、メール送信など |
| 使う人 | 誰が実行し、誰が結果を使うか |
| 止まったときの影響 | どの業務が止まり、誰が困るか |
実際に動かしながら、操作の前後でシートがどう変わるかを記録していくと、処理の内容が見えてきます。棚卸しの過程で、すでに使われていない処理や、手作業の回避策として追加された処理が見つかることもよくあります。
属人化を解消する3つの選択肢
棚卸しができたら、対応の方針を決めます。選択肢は大きく3つです。
1. 整理して、Excelのまま使い続ける
処理の内容を文書にまとめ、コードにコメントを残し、社内で修正できる人を複数育てる方法です。使う人が少なく、処理も単純な場合は、これが最も手間の少ない選択肢です。
2. 既製のツールに移す
マクロがしていることが、請求書の作成や勤怠の集計など、既製のSaaSで代替できる業務であれば、ツールの導入で解決できることもあります。
3. Webアプリに置き換える
マクロが自社独自の業務の中心を担っていて、複数人で使う必要がある場合や、他の業務とデータをつなぎたい場合は、Webアプリとして作り直すことが候補になります。
| 選択肢 | 向いている状況 | 注意点 |
|---|---|---|
| Excelのまま整理 | 使う人が少なく、処理が単純で、社内に修正できる人を確保できる | 同時利用や履歴管理の問題は残る |
| 既製ツールへ移行 | 処理が一般的な業務(請求、勤怠など)に近い | 独自の計算ルールは表現できないことがある |
| Webアプリに置き換え | 独自の業務の中心を担い、複数人で使う | 開発費と期間がかかる。処理内容の整理が必要 |
Webアプリに置き換えると何が変わるか
Webアプリに置き換えると、マクロの処理がサーバー側で動くようになり、次のような変化があります。
- 特定のパソコンやExcelの環境に依存しなくなる
- 複数人が同時に入力・閲覧できる
- 誰がいつ実行したか、何を変更したかを記録できる
- 処理の内容が設計資料やソースコードとして残り、引き継ぎやすくなる
一方で、Excelのように自分たちで気軽に数式を変える手軽さは減ります。計算ルールが頻繁に変わる部分は、管理画面から設定値を変えられるようにしておくなど、設計の工夫が必要です。
置き換えの進め方
- 棚卸しをする:前述の表をもとに、マクロの処理を書き出す
- 残す処理・やめる処理を決める:使われていない処理、回避策だった処理は整理する
- 計算ルールを言葉にする:マクロの中にしかないルール(端数処理、条件分岐など)を確認する
- 小さく作って結果を突き合わせる:同じデータでマクロとWebアプリの結果が一致するかを確認する
- 並行運用してから切り替える:一定期間は両方で処理し、問題がなければ切り替える
特に4の「結果の突き合わせ」は重要です。マクロには、作った人も忘れているような細かなルールが入っていることがあります。同じ入力で同じ結果になるかを確認すれば、漏れに気づけます。データの扱いについては、ExcelからWebアプリへデータを移行するときの注意点も参考にしてください。
ポイント:マクロは「仕様書のかわり」になる
中身が分からなくても、マクロが動いている以上、そこには業務のルールが実装されています。Webアプリへの置き換えでは、マクロを動かした結果そのものが、仕様を確認するための材料になります。
Excel管理全体を見直す場合は
マクロだけでなく、Excelでの管理全体に限界を感じている場合は、Excel管理をWebアプリ化する進め方もあわせてご覧ください。Googleスプレッドシートとの比較はGoogleスプレッドシート管理を卒業するべきタイミングで解説しています。マクロではなく、以前に作った社内ツールが古くなっている場合は古い社内ツールを作り直すべきか?をご覧ください。
置き換えまでの間にできること
Webアプリへの置き換えを決めても、完成までの間はマクロを使い続けることになります。その間のリスクを小さくするため、マクロ入りのファイルのバックアップを取っておく、棚卸しで分かった処理の内容を文書にしておく、実行する手順を複数の人が分かるようにしておく、といった対策を先に進めておくと安心です。
マクロが読めなくても相談できます
コードを読める人が社内にいなくても、マクロ入りのファイル(見本データに置き換えたもの)と、普段の使い方を共有いただければ、処理の内容を一緒に整理するところから始められます。Tailboneでは、Excelやマクロで回している業務を、引き継ぎやすい形の業務用Webアプリとして作り直す開発を行っています。
よくあるご質問
マクロの中身がまったく分からなくても、置き換えを相談できますか?
可能です。マクロのコードを読める人がいなくても、ファイルを実際に動かして「どのボタンを押すと、何が起きるか」を確認すれば、処理の内容はかなり把握できます。ファイル(見本データに置き換えたもの)と、普段の使い方を共有いただくところから始められます。
マクロをそのままWebアプリに移植できますか?
コードをそのまま移すことは一般的にはできず、処理の内容を整理したうえで作り直す形になります。その過程で、使われていない処理や、手作業の回避策として入っていた処理が見つかり、全体が簡単になることもあります。
マクロを使い続けるのは危険ですか?
一概には言えません。少人数で使い、処理の内容が整理されていて、修正できる人が社内にいるなら、使い続けるのも合理的な判断です。問題になるのは、誰も中身を分からず、止まったときに業務が回らなくなる状態です。