「このファイル、ボタンを押すと動くけど中身は誰も知りません」
毎月の集計、請求データの整形、在庫表の突き合わせ。 Excelにマクロ(VBA)を仕込んで自動化している会社は多く、実際それで何年も業務が回っています。 問題が起きるのは、そのマクロを作った人がいなくなったあとです。
動いているうちは誰も困りません。 だから引き継ぎもされないまま、ある日エラーで止まったとき初めて 「これ、誰も直せない」という事実に全員が気づくことになります。
📌 よくある状況
- 作った担当者が退職・異動し、仕様書もコメントも残っていない
- Excelのバージョンが上がった途端エラーが出るようになった
- 「触ると壊れそう」で、誰もファイルを開けない空気になっている
- 参照している別ファイルのパスが変わり、動かなくなった
- マクロが前提にしている手作業のルールが、暗黙のまま引き継がれている
マクロは「業務ルールが本人の頭の中にある」まま動いてしまう
マクロが属人化するのは、担当者が情報を隠しているからではありません。 マクロは、作った本人が一番使いやすい形で書けてしまうことが原因です。 自分だけが使う前提なら、変数名も処理の順番も自由でよく、説明を残す動機がありません。
さらに厄介なのが、マクロの中に「業務ルール」が埋まっている点です。
どの列を集計対象にするか、どんな条件を除外するか、月末はどう扱うか。
こうした判断は本来ドキュメントに残るべきものですが、コードの中の If 文として書かれてしまう。
結果、コードを読める人がいなくなった瞬間、業務ルールも読めなくなるのです。
もう一つは、マクロが動く前提条件が外部に依存していることです。 特定のフォルダ構成、特定のファイル名、特定のExcelバージョン、特定のPC。 これらのどれか一つが変わっただけで止まりますが、その前提はどこにも書かれていません。
マクロが止まったとき困るのは、コードが読めないことより「業務ルールが分からない」こと
コードが読めなくても、できることから始める
「VBAが分かる人を採用する」以外に手がない、と思われがちですが、そんなことはありません。 属人化を解くのに最初に必要なのは、プログラミング知識ではなく棚卸しです。
マクロ入りファイルを全部リストアップする
まず「どこに何個あるか」を把握します。拡張子が .xlsm のファイルを共有フォルダ内で検索すれば、おおよそ洗い出せます。
ファイル名・置き場所・最終更新日・作った人(分かれば)を一覧にするだけで、
「実は3年使われていないマクロだった」というものが半分近く見つかることも珍しくありません。
コードではなく「業務」を先に書き出す
中身を読み解こうとすると挫折します。先に書くのは 「このボタンを押すと、何のために、どのデータが、どう変わるのか」という業務側の説明です。 使っている人にヒアリングすれば、コードが読めなくても8割は再現できます。 この一枚があれば、後から作り直すことも外部に相談することもできます。
動作する環境と前提条件をメモする
「Aさんのパソコンでしか動かない」「このフォルダに置かないとエラーになる」といった条件は、 分かっている今のうちに書き残してください。 後から調べるのは非常に手間がかかりますし、環境が変わると再現すらできなくなります。
コピーを取って「壊してよい実験用」を作る
誰も触れない一番の理由は「壊すのが怖い」です。 別名でコピーを作り、そちらを自由に触ってよいと決めるだけで、検証のハードルは一気に下がります。 本番ファイルは読み取り専用にしておくと、うっかり上書きの事故も防げます。
💡 最優先は「2」
4つのうち最も価値があるのは②業務の説明を書き出すことです。 これさえあれば、マクロを修理する道も、まったく別の形で作り直す道も選べます。 逆にこれがないと、どの選択肢も進められません。
3つの選択肢を並べて比べる
棚卸しが終わったら、次は「どうするか」の判断です。 マクロを維持し続ける・Excelの標準機能に戻す・業務アプリに置き換える、の3択で考えると整理しやすくなります。
| 観点 | マクロを維持する | 標準機能に戻す | 業務アプリ化する |
|---|---|---|---|
| 初期の費用 | ◎ ほぼゼロ | ◎ ほぼゼロ | △ 開発費がかかる |
| 属人化の解消 | × 書ける人に依存が続く | ◎ 誰でも扱える | ◎ 画面と権限で共有できる |
| 処理できる複雑さ | ◎ 高い | × 単純な集計まで | ◎ 高い |
| 複数人の同時利用 | × ファイルの取り合いになる | △ 共有すると重くなる | ◎ 前提として設計できる |
| 環境変化への強さ | × 更新のたびに止まる恐れ | △ ほぼ影響なし | ◎ ブラウザで動かせる |
| 作業ログが残るか | × 残らない | × 残らない | ◎ 誰がいつ何をしたか残る |
判断の目安はシンプルです。処理が単純なら標準機能へ、業務の中心にあるなら業務アプリへ。 「複雑で、しかも毎月必ず使う」マクロほど、止まったときの被害が大きいので優先的に置き換える価値があります。
脱・属人化の4ステップ
一覧化する
確かめる
先に外す
言葉にする
1枚にまとめる
作り替えるか決める
優先順位をつける
📌 ステップ2を飛ばさない
棚卸しをすると、もう使われていないマクロが必ず出てきます。 全部を解読・移行しようとすると途中で力尽きるので、 「今も毎月使っているもの」だけに絞ってから次に進んでください。 対象が3分の1になれば、作業量も3分の1になります。
放置した場合と、棚卸しした場合
- エラーで止まった日に、業務そのものが止まる
- 誰も直せず、外部に依頼しようにも仕様を説明できない
- 「壊すのが怖い」ので改善提案も出てこなくなる
- Excelやパソコンの更新をチームが避けるようになる
- 処理の中身が言葉で共有され、担当者が変わっても引き継げる
- 不要なマクロが減り、管理対象そのものが小さくなる
- 複数人が同時に使え、ファイルの取り合いがなくなる
- 誰がいつ実行したかが記録され、確認作業が減る
マクロの属人化は、コードの問題ではなく業務ルールが文章になっていない問題です。 動いているうちに業務側の説明を1枚残しておけば、 その後どの手段を選ぶにしても選択肢が残ります。逆に止まってから始めると、選択肢はほとんどありません。
マクロでやっていた処理、そのまま試作します
「中身は分からないが、この作業をなんとかしたい」という段階からで大丈夫です。
SHISAKUBAが業務内容から設計し直し、最短1週間で試作品をご提案します。