本文へスキップ
株式会社オブライト
Business DX2026-10-19約15分で読めます

Excelマクロ(VBA)の属人化対策 — 退職前にやることと移行費用の目安

Excelマクロ(VBA)の属人化は、作った人が辞める前に棚卸しと文書化を進めるのが先決。IT担当者のいない会社向けに、延命・Power Automate・Python・kintone・システム化の5択を比較し、費用の目安(数万円〜500万円以上)、退職前の引き継ぎ項目、外部に頼む注意点まで解説する。


Excelマクロ(VBA)の属人化は、作った人が辞めてから対処すると業務が止まる。やることは順番に決まっていて、まずマクロの棚卸し(どのファイルに、何のために、誰が使っているマクロがあるか)、次に「延命してドキュメント化する」「Power AutomateやOffice Scriptsに置き換える」「Pythonなどで作り直す」「kintoneやSaaSに乗り換える」「システム化する」の5択から1本ずつ選ぶ流れである。全部を作り直す必要はなく、止まると困るものだけを優先して手当てするのが現実的である。

費用はあくまで一般的な市場の目安だが、棚卸しとドキュメント化で数万〜数十万円、小さな改修で数万〜数十万円、別の仕組みへの置き換えで数十万〜200万円前後、本格的なシステム化で150万〜500万円以上になることが多い。この記事では、IT担当者がいない会社の経営者や総務担当者向けに、属人化しやすい理由、放置のリスク、棚卸しのやり方、5つの選択肢の比較、費用の目安、退職前に引き継ぐ項目、外部に頼む時の注意点を順に整理する。属人化全般の話は「あの人しか触れないシステム」の引き継ぎ対策で扱っているので、ここではVBAマクロに絞って具体的に述べる。

VBAマクロが属人化しやすい理由

VBAマクロは、現場の担当者が自分の業務を楽にするために、少しずつ書き足して育ててきたものが多い。手軽に作れる反面、次のような事情が重なって「作った本人しか分からない」状態になりやすい。

- 設計書や仕様書がなく、コードそのものが唯一の資料になっている。しかも長年の継ぎ足しで、どこが何をしているのか本人も忘れていることがある
- 変数名やシート名が自分用の略称で書かれており、他の人が読んでも意図が分からない
- コメントが少ない、または古い。修正の履歴も残っていない
- 処理がExcelファイルの中に埋め込まれていて、そのファイルがどこにあるか、何枚コピーがあるかを会社として把握していない
- 動かし方に暗黙の手順がある(毎月この順番でボタンを押す、先にこのシートを更新しておく、このPCでしか動かない)
- パスワードでVBAプロジェクトが保護されており、パスワードを知っているのが本人だけになっている
- 社内にVBAを読み書きできる人が他におらず、レビューする人もいない
- 動いている間は誰も困らないため、引き継ぎや整理が後回しになりやすい

特に「暗黙の手順」と「パスワード保護」は見落とされやすい。コードが残っていても、前提となる使い方やパスワードが分からなければ、実質的に誰も触れない状態になる。Excel全体の属人化の問題は、Excelからの脱却先比較でも整理している。

放置のリスク

マクロの属人化を放置すると、ある日突然問題が表面化する。代表的なリスクを5つ挙げる。

1つ目は、担当者の退職や異動である。作った人がいなくなると、エラーが出た時に直せない、仕様を変えられない、そもそも何をしているマクロなのか説明できない、という状態になる。月次の請求書作成や売上集計のようにマクロに依存している業務ほど、止まった時の影響が大きい。

2つ目は、Officeの更新や64bit化で動かなくなることである。古いVBAコードの中には、Windowsの機能を直接呼び出す宣言(Declare文)を使っているものがあり、64bit版のOfficeではそのままでは動かず、書き換えが必要になる場合がある。また、使っているアドインや外部ライブラリが新しいバージョンに対応していないこともある。PCの入れ替えやMicrosoft 365への切り替えのタイミングで、突然動かなくなる例は珍しくない。

3つ目は、2022年以降の仕様変更である。Microsoftは、インターネットから入手したファイル(メールで受け取ったもの、ダウンロードしたもの、共有リンク経由で保存したもの)に含まれるマクロを、既定でブロックするようにした。ファイルを開いても黄色や赤の警告が出て、マクロが実行できない。以前は「コンテンツの有効化」を押せば動いたが、今は設定の変更やファイルのブロック解除が必要になる場面がある。担当者が口頭で伝えていた回避方法が引き継がれていないと、「急にマクロが動かなくなった」という問い合わせだけが残る。

4つ目は、VBScriptの廃止による影響である。MicrosoftはVBScriptについて段階的な廃止を発表しており、VBScriptを内部で呼び出しているマクロは、将来動かなくなる可能性がある。VBA自体がすぐに使えなくなるという話ではないが、マクロの中でVBScriptやそれに近い仕組みに頼っている部分(ファイル操作やシステム情報の取得などで使われることがある)が、いつの間にか動かなくなるリスクがある。どの程度影響を受けるかは使い方次第なので、棚卸しの段階で「外部の仕組みを呼んでいる箇所」を確認しておくと安心である。

5つ目は、誤動作に誰も気づかないことである。マクロが間違った数字を出し続けていても、中身を理解している人がいなければ検証できない。税率の変更、取引先コードの追加、列の挿入といった変化にマクロが追従できていないと、請求額や在庫数が静かにずれていく。止まるより、気づかないまま動き続ける方が被害は大きい場合がある。

まずやる「マクロの棚卸し」チェックリスト

対応方法を考える前に、まず現状を把握する。ここでは直す必要はなく、「何があるか」を一覧にするだけでよい。表計算ソフトで台帳を1枚作り、次の項目を埋めていく。

- マクロ入りのファイル(.xlsm、.xlsb、.xla、.xlam、個人用マクロブックなど)が、どのフォルダーやPCにあるか
- そのファイルの名前、更新日、コピーや旧版が何枚あるか
- マクロの目的(請求書作成、売上集計、在庫更新、メール送信など)を1行で
- 使っている人と、使う頻度(毎日、毎週、毎月、年1回)
- 止まった時の影響(業務が止まる、手作業で代替できる、困らない)
- 入力と出力:どのファイルやシステムから読み込み、どこへ書き出すか
- 外部とのつながり(他のExcelファイル、Access、データベース、メール、PDF出力、外部ソフト、ネットワーク上のフォルダー)
- VBAプロジェクトにパスワードがかかっているか、そのパスワードを誰が知っているか
- 作った人、直せる人、現在の保守担当者
- 動かすための手順(ボタンを押す順番、事前に準備するデータ)の有無
- 動作環境(Excelのバージョン、32bitか64bitか、特定のPCでしか動かないか)
- 最後に問題が起きた時期と、その時の対処

台帳ができたら、「止まると困る度合い」と「作った人が辞めるまでの猶予」の2軸で優先順位をつける。止まると業務が止まり、かつ担当者が近く辞める見込みのものから手を付ける。月に一度しか使わず、手作業でも代替できるマクロは、後回しでよいことが多い。一覧を作る時点で、「実はもう誰も使っていないマクロ」が見つかることもあり、その場合は整理するだけで対象を減らせる。

対応の選択肢5つ:比較表

選択肢は大きく5つに分かれる。どれが正解かは、マクロの重要度、複雑さ、使う人数、今後の変更頻度で決まる。費用は一般的な市場の目安であり、規模や要件で上下する。

選択肢向いているケース費用の目安主な注意点
① 延命+ドキュメント化動いているが中身が不明。まず今の状態を守りたい数万〜数十万円根本的な属人化は残る。環境変更に弱い
② Power Automate・Office Scripts定型のファイル処理、メール送信、Web上のExcel操作数十万円〜(ライセンス別)ライセンスと環境の制約。複雑な処理は不向き
③ Pythonなどで作り直し大量データの処理、複雑な集計、他システム連携数十万〜150万円前後実行環境の用意と保守担当者が必要
④ kintone・SaaSへ乗り換え台帳管理、申請、案件管理、請求・在庫管理月額数千円〜+設定費数十万円運用の変更が必要。帳票の再現に工夫がいる
⑤ システム化(Web業務システム)複数人利用、権限管理、他システム連携、長期運用150万〜500万円以上費用と期間がかかる。要件の整理が成否を分ける
Excelマクロの属人化対策の判断フロー。まずマクロの棚卸しを行い、用途に応じて延命+ドキュメント化、Power Automate・Office Scripts、Pythonで作り直し、kintone・SaaSへ乗り換え、システム化の5つから選ぶ(費用は数万円〜500万円以上)。

① 延命+ドキュメント化

最も手軽で、最初に検討すべき選択肢である。コードは変えず、そのまま使い続けながら、中身を読み解いて文書に残す。具体的には、マクロごとの目的、処理の流れ、入力と出力、使い方の手順、トラブル時の対処、パスワードの管理場所をまとめる。可能であれば、コードにコメントを追記し、変数名やシート名の意味を説明する用語集を付ける。

この選択肢の価値は、「分からないまま動いている」状態から「分かって動いている」状態に変えることにある。後で別の方法に移行する時にも、このドキュメントが要件定義の元になる。注意点は、延命は時間を稼ぐ手段であって、根本的な解決ではないことである。ExcelやWindowsの環境変更に弱い性質は残るため、重要なマクロほど次の手を並行して考えておきたい。

② Power Automate・Office Scripts

Microsoft 365を使っている会社では、Power AutomateやOffice Scriptsへの置き換えが選択肢になる。Power Automateは、ファイルの保存、メールの送信、承認の流れなどを、画面上で部品をつなぐ形で自動化できる。Office ScriptsはExcel on the webでTypeScriptベースの自動化を行う仕組みで、デスクトップ版のExcelを前提とするVBAとは対象環境が異なる。デスクトップ版のアプリ操作を自動化する場合は、Power Automate for desktopを使う方法もある。

向いているのは、「毎朝このフォルダーのファイルを集めて集計表に貼る」「申請が来たら担当者にメールする」といった、流れがはっきりした定型作業である。一方で、細かなセルの書式制御や複雑な計算を大量に行うVBAは、そのまま置き換えにくい。使える機能は契約しているMicrosoft 365のプランやライセンスで変わるため、事前の確認が必要である。ローコードの自動化として、RPA(業務自動化)の導入ガイドも参考になる。

③ Pythonなどで作り直し

大量のデータを扱う集計や、複数のファイル・システムを横断する処理は、Pythonなどの汎用言語で作り直す方法がある。コードは文字として管理でき、変更履歴を残しやすく、テストも書きやすい。ExcelやCSVの読み書きに強いライブラリが揃っており、VBAでは時間がかかっていた処理が速くなることもある。

ただし、実行するPCにPythonの環境を用意する必要があり、保守できる人も確保しなければならない。社内に開発経験者がいない場合は、作り直した結果が新しい属人化の原因になる恐れがある。「誰が、どこで動かし、エラー時に誰が見るか」を決めてから採用するのがよい。外部に保守を任せる場合も、コードと実行手順を会社の資産として手元に持っておくことが大切である。

④ kintone・SaaSへ乗り換え

マクロの正体が、実は「台帳に入力して集計する」「申請を回す」「案件の状況を管理する」といった業務である場合は、kintoneのようなノーコード業務アプリや、請求・在庫・勤怠などの専用SaaSに乗り換える方法が有効である。ファイルを手元で配る必要がなくなり、複数人の同時利用、権限管理、履歴の記録が標準で使える。

一方、既存の帳票の見た目や細かい計算ルールをそのまま再現できるとは限らない。業務のやり方をSaaSに合わせて見直す覚悟も必要である。乗り換え前に、現行のマクロが何をしているかを整理しておくと、「SaaSの標準機能でやれること」と「やれないこと」を切り分けやすい。Accessで作った仕組みの移行を検討している場合は、Accessからの移行ガイドの比較も近い考え方で使える。

⑤ システム化(Web業務システム)

マクロが会社の基幹業務を支えており、利用者が多い、他のシステムとデータをやり取りする、権限や監査の記録が必要、といった場合は、Webの業務システムとして作り直す選択肢になる。ブラウザーから使え、データはデータベースで一元管理され、バックアップや権限管理も設計できる。

その分、費用と期間がかかる。そして成否を分けるのは、技術よりも要件の整理である。現行のマクロが何をしていて、どこまでを残し、どこを変えるのかを決めないまま発注すると、完成後に「前のマクロの方が便利だった」となりやすい。そのため、①のドキュメント化を先に済ませてから発注するのが、結果的に安く、確実である。発注の進め方は、Excelからの脱却先比較も参考にしてほしい。

費用の目安

費用は、マクロの本数、コードの量、画面や帳票の数、他システムとの連携、必要な環境で大きく変わる。次の表は、一般的な市場の目安であり、実際の金額を断定するものではない。見積もりを取る時の比較の物差しとして使ってほしい。

段階内容費用のレンジ(目安)期間の目安
棚卸し・ドキュメント化マクロの一覧化、コードの読み解き、手順書・仕様メモの作成数万〜50万円前後(本数と規模による)数日〜1か月程度
小改修64bit対応、エラー修正、ブロック対策、軽微な機能追加数万〜数十万円数日〜数週間
置き換えPower Automate、Python、kintone・SaaSなどへの移行数十万〜200万円前後(月額利用料は別)1〜3か月程度
システム化Web業務システムとして要件定義から作り直し150万〜500万円以上3〜6か月以上

費用を抑えるコツは、すべてを同じ手段で扱わないことである。棚卸しの結果、重要度の低いマクロは「延命のみ」、中程度のものは「置き換え」、基幹のものだけ「システム化」というように、段階を分けて予算を配分する。また、ドキュメント化を先に済ませておくと、後工程の見積もりの精度が上がり、追加費用が出にくくなる。予算が限られる場合は、まず棚卸しとドキュメント化だけを依頼し、その結果を見て次の手を決める進め方もできる。

退職前に引き継ぐ項目チェックリスト

担当者の退職が決まっている、あるいは近い場合は、次の項目を優先して残してもらう。時間が足りない時は、上から順に押さえるとよい。

- VBAプロジェクトのパスワード(ある場合)と、シートやブックの保護パスワードを、会社の管理する場所に記録する
- マクロ入りファイルの正本の場所と、最新版の特定方法(旧版や複製の整理)
- マクロごとの目的、処理の流れ、入力と出力を、図や箇条書きで簡単にまとめる
- 毎回の操作手順を、画面のスクリーンショット付きで残す(動画での記録も有効)
- 月次・年次の特殊な処理(決算月だけ手作業が入る、など)
- 過去にあったエラーと、その対処法
- 外部とのつながり(参照しているファイル、フォルダー、データベース、メール設定、アドイン)
- 動作環境(Excelのバージョン、32bit・64bit、必要な参照設定、使っているPCの条件)
- テスト用のデータ(実データを加工した見本)と、正しい結果の例
- 後任者が実際に1回、手順書だけで動かしてみる。つまずいた点を手順書に反映する

最後の項目が特に重要である。書いた本人は分かったつもりでも、後任者が初めて読むと手順が抜けていることが多い。退職前に一度、本人の立ち会いのもとで後任者が実行する「リハーサル」を行えば、足りない情報がその場で見つかる。

外部に頼む時の注意点

社内で対応できない場合は、外部の専門家や開発会社に依頼することになる。その時に、後悔しやすい点を整理しておく。

- ソースコードの権利と受け渡し:作り直したコードや成果物が、自社の資産として手元に残るかを契約で確認する。納品物にソースコードと手順書を含める
- パスワード保護の解除:VBAプロジェクトのパスワードが分からないと、中身を読めない。解除を依頼する場合は、自社が正当に所有・管理するファイルであることを確認し、取引先から預かったファイルなど権利が自社にないものは対象にしない。解除作業の可否や方法は、依頼先と事前に相談する
- テストデータの扱い:実データには個人情報や取引先情報が含まれる。外部に渡す前に、匿名化・ダミー化したデータを用意するか、秘密保持契約(NDA)を結ぶ
- 現行の動作を基準にする:作り直す前に「現行マクロの結果」を保存し、新しい仕組みの結果と比較して一致するかを確認する(並行稼働)
- 要件の確認:「今と同じに動く」だけでなく、「直したい点、やめたい点」も最初に伝える
- 保守の範囲:納品後の不具合対応は無償かどうか、期間はいつまでか、誰が連絡窓口かを決める
- 見積もりの前提:マクロの本数、コード行数、連携先、環境を伝えたうえで、前提条件が書かれた見積もりをもらう。複数社に取って比較する

なお、ファイルを外部に渡す前に、社内の情報管理ルールを確認しておく。取引先から提供されたデータを含むファイルは、契約上、外部に渡せない場合がある。

よくある質問

VBAマクロは、もう使えなくなるのですか?

VBA自体がすぐに使えなくなるという発表があるわけではなく、現在も多くの会社で使われている。ただし、インターネット由来のファイルのマクロが既定でブロックされる仕様、64bit版Officeへの対応、VBScriptの段階的な廃止の影響など、環境の変化に弱い面はある。使い続けるにしても、中身を把握して文書化しておくことが前提になる。

作った人が既に退職していて、パスワードも分かりません。どうすればよいですか?

まず、そのマクロが今も使われているか、止まったら業務に影響するかを確認する。重要なものは、外部の専門家にコードの読み解きを依頼する方法がある。パスワード保護の解除が必要な場合は、自社が正当に管理するファイルであることを確認したうえで、依頼先と可否や方法を相談する。難しい場合は、マクロの出力結果から仕様を推測して作り直す方法もある。

全部のマクロを作り直す必要がありますか?

必要ない。棚卸しで重要度を分け、止まると困るものから対応するのが現実的である。使われていないマクロは整理して終わり、軽微なものは延命とドキュメント化にとどめ、基幹のものだけ置き換えやシステム化を検討する。

費用はいくらくらい見ておけばよいですか?

一般的な市場の目安として、棚卸しとドキュメント化は数万〜50万円前後、小改修は数万〜数十万円、置き換えは数十万〜200万円前後、システム化は150万〜500万円以上になることが多い。ただし、マクロの本数、コード量、連携先で大きく変わるため、複数の見積もりで比較してほしい。

まとめ

Excelマクロの属人化は、作った人が辞めてから対処するより、動いているうちに手を打つ方が、費用も混乱も小さい。手順は、棚卸しで現状を把握する、重要度で優先順位をつける、延命とドキュメント化・置き換え・システム化を使い分ける、の3つに集約される。

最初の一歩は、マクロ入りファイルを一覧にして、担当者にパスワードと操作手順を聞き出すことである。それだけでも、「作った人しか分からない」リスクは大きく下がる。その後の選択肢は、棚卸しの結果を見ながら、重要度に応じて決めればよい。費用はすべて一般的な市場の目安であり、実際の判断は、自社のマクロの状況を踏まえて行ってほしい。

お気軽にご相談ください

お問い合わせ