こんにちは、SkillStack Lab運営者のスタックです。
社内に「誰が作ったのか分からないExcelマクロ」が残っていて、エラーが出るたびに困っていませんか。
作成者が異動・退職してしまい、「このボタンを押せば動くことだけは分かっている」「怖くてコードには触れない」という状態になっている会社もあるでしょう。
結論から言うと、エクセルマクロの属人化を解消するために、すべてのVBAを廃止する必要はありません。
問題なのはVBAという技術そのものではなく、業務の目的、入力データ、出力結果、依存ファイル、修正方法、代替手順を特定の一人しか把握していない状態です。
まず既存マクロを安全に棚卸しし、「そのまま残す」「小さく修正する」「Power Queryなどへ置き換える」「業務システムへ移す」を業務ごとに判断することが大切です。
この記事では、元情シスで現在は管理部門を統括する立場から、退職者が残したブラックボックスマクロを救出する手順と、二度と属人化させないための管理方法を実務順に解説します。
- 属人化の原因はVBAではなく「所有者と仕様が分からない状態」
- 本番ファイルを直接修正する前にコピーとバックアップを取る
- コードより先に業務・入力・出力・依存関係を棚卸しする
- 停止時の手作業と復旧方法を必ず残す
- 小規模・低リスクならVBAを継続してよい
- CSV結合・整形ならPower Queryも比較する
- クラウド実行や他サービス連携ならOffice Scripts・Power Automate等を比較する
- 権限・承認・履歴が必要な業務はSaaSも比較する
エクセルマクロの属人化はVBAそのものが原因ではない
Excel VBAは2026年現在もMicrosoftが公式リファレンスを提供している技術です。
Microsoft公式のExcel VBAリファレンスも現在公開されています。
そのため、「古い技術だからすべて廃止する」という判断はおすすめしません。
問題になるのは、便利なマクロが次の状態まで成長してしまったときです。
- 作成者しかコードを理解していない
- 何を入力すれば正しく動くのか説明できない
- 外部ファイルやフォルダへの依存先が分からない
- エラーが出た場合の復旧方法がない
- 正常な結果を判定する基準がない
- 変更履歴が残っていない
- 本番ファイルしか存在しない
- マクロが停止すると重要業務も止まる
「誰が作ったか」より「誰でも仕組みを把握し、復旧できるか」で属人化を判断してください。

マクロは突然止まるとは限らない
マクロのトラブルというと、「実行時エラーが表示されて完全に停止する」状態を想像しがちです。
しかし実務では、エラーにならず処理だけが想定と変わってしまう方が見つけにくいケースがあります。
例えば、読み込むCSVの列順やファイル名が変わったにもかかわらず、コードが特定の列番号や固定パスを前提に処理していれば、想定外の結果になる可能性があります。
「エラーが出ない=正しく動いている」ではありません。
重要なマクロほど、処理が完了したかだけでなく、件数・合計金額・前月差など、出力結果を検証する仕組みを用意しておきましょう。
退職者が残したマクロを救出する5ステップ
すでに作成者が退職している場合、最初からコードを書き直そうとしないでください。
まず「何の業務を、何を使って、どんな結果へ変換しているのか」を明らかにします。
STEP1|本番ファイルを保全する
最初に行うのは修正ではなく保全です。
- 現在動いている本番ファイルをコピーする
- 修正前のファイルを別名で保存する
- 入力元データも同時に保存する
- 正常に処理できた直近の出力結果も保存する
- 本番ファイルへ直接コードを書き加えない
OneDriveやSharePointに保存できる環境なら、バージョン履歴を使える状態にするのも有効です。
ただし、保存場所を変えることで固定パスを使ったマクロが動かなくなるケースもあるため、最初はコピーで検証してください。
STEP2|マクロを実行する業務を言葉にする
コードを読む前に、利用者へ現在の業務を聞き取ります。
最低限確認する7項目
- 何のためのマクロなのか
- いつ実行するのか
- 誰が実行するのか
- 実行前に何を準備するのか
- 何を入力データとして使うのか
- 何が出力されれば正常なのか
- 動かなかった場合は現在どうしているのか
「ボタンAを押したら次にボタンB」だけでは仕様書になりません。
業務の目的まで言語化することで、後から「この処理はそもそも不要だった」という判断もできます。

STEP3|入力・出力・依存関係を棚卸しする
次にマクロが外部の何に依存しているかを確認します。
- CSV・Excelなどの入力ファイル
- ファイル名の規則
- フォルダ・共有ドライブのパス
- 参照している別ブック
- メールソフトや他Officeアプリ
- 外部データベース
- Windows API
- COM・ActiveX・外部ライブラリ
- VBEの「参照設定」に登録されたライブラリ
特に注意したいのが、コード内に直接記述された固定パスです。
C:\Users\username\Desktop\売上データ\
\\server01\share\monthly\
このように個人名や特定サーバーを前提にしている場合、PC交換や担当者変更だけで動かなくなる可能性があります。
STEP4|正常結果を再現するテストを作る
コードを修正する前に、「何をもって正常とするか」を決めます。
過去に正常処理できた入力データを使い、修正前と修正後で次の項目を比較します。
- 出力件数
- 合計金額
- 抽出条件
- ファイル数
- PDF・帳票の枚数
- エラー対象件数
「画面上で最後まで動いた」だけで本番へ戻すのは避けてください。
STEP5|停止した場合の代替手順を残す
重要業務では、マクロの完全無停止を目指すより、止まっても業務を継続できる状態を作ることが重要です。
例えば、月次集計マクロなら「停止した場合はこのCSVを開き、この列を集計する」といった最低限の手作業手順を残します。
属人化解消のゴール
「絶対に壊れないマクロ」ではなく、「作成者が不在でも仕組みを理解でき、止まっても復旧・代替できる状態」を目指します。
Excelマクロ管理台帳を作って属人化を見える化する
社内にマクロが複数存在するなら、最初からすべて改修する必要はありません。
まず一覧表を作り、重要度の高いものから対応します。
| 管理項目 | 記入例 |
|---|---|
| ファイル名 | 月次売上集計.xlsm |
| 業務目的 | 各店舗CSVの月次集計 |
| 保管場所 | SharePoint/共有フォルダ等 |
| 利用部署 | 経理・営業管理 |
| 主担当 | ○○課 |
| 副担当 | △△さん |
| 実行頻度 | 毎月1回 |
| 入力データ | 店舗別CSV |
| 出力結果 | 月次売上一覧 |
| 外部依存 | 共有フォルダ・別ブック |
| 停止時の影響 | 月次報告が遅延 |
| 代替手順 | Power Query/手作業集計 |
| 最終テスト日 | 2026/08/01 |
| 今後の方針 | 継続・改修・移行・廃止 |
この一覧を作るだけでも、「止まったら会社全体へ影響するマクロ」と「実はなくても困らないマクロ」を分けられます。
属人化マクロを残す・直す・置き換える判断基準
棚卸しが終わったら、すべてを同じ方法で解決しないことが重要です。
| 現在の業務 | 第一候補 | 判断 |
|---|---|---|
| 一人が使う簡単なExcel操作 | VBA | 保守できるなら継続 |
| 定型帳票・PDF保存・書式変更 | VBA | VBAが向きやすい |
| 毎月同形式のCSV・Excelを結合 | Power Query | VBAからの置換を比較 |
| Excel操作をチームで共有 | Office Scripts | 利用環境を確認して比較 |
| メール・承認・他サービスと連携 | Power Automate | Excel外まで含めて自動化 |
| 大量ファイル・API・高度処理 | Python・Power Query | 処理内容に応じて比較 |
| 勤怠・請求・会計・問い合わせ等 | SaaS・業務システム | 権限・履歴・承認まで必要なら比較 |
例えば、毎月フォルダ内のCSVを結合しているだけのマクロなら、Power Queryの方が処理手順を画面上で確認しやすく、引き継ぎやすいケースがあります。
逆に、Excelの印刷範囲を整え、PDFへ保存するといった処理ならVBAを無理に置き換えるメリットが小さいこともあります。
Excel自動化の選択肢をまとめて比較したい方は、以下の記事を先に確認してください。
\ VBA以外の選択肢も比較 /
属人化マクロで見落とせないセキュリティ対策
古いマクロを引き継ぐときは、「動けばOK」だけでなくセキュリティも確認してください。
「すべてのマクロを有効」にしない
マクロが動かないからといって、利用者全員のExcelで「すべてのマクロを有効」に設定するのは避けましょう。
Microsoftはインターネットやメール添付など、信頼されていない場所から取得したOfficeファイルのVBAマクロを既定でブロックする仕組みを導入しています。
Microsoft公式「インターネットからのマクロはOfficeで既定でブロックされます」
組織として継続利用するマクロであれば、情シスやセキュリティ担当と相談し、信頼できる保管場所、権限、コード署名、信頼された発行元などを含めた運用を検討してください。
重要な社内マクロはコード署名も検討する
Excelでは、VBAマクロプロジェクトへデジタル署名を付けることができます。
署名は「コードの内容が正しいこと」を保証するものではありませんが、信頼する発行元から配布されたコードか、署名後に変更されていないかを確認する仕組みとして利用できます。
Microsoft公式「Digital signatures and code signing in workbooks in Excel」
OneDrive・SharePointで履歴を残す
Microsoft 365環境なら、OneDriveやSharePointに保存したOfficeファイルではバージョン履歴から過去の状態を確認・復元できます。
本番マクロを誰かが誤って変更した際の復旧手段として役立ちます。
Microsoft公式「View previous versions of Office files」
Excel for the webではVBAを実行できない
マクロ有効ブックをOneDriveやSharePointへ保存すること自体はできますが、Excel for the webではVBAマクロを作成・実行できません。VBAを使う業務ではデスクトップ版Excelが必要になるため、クラウド利用を前提に業務を再設計する場合は注意してください。
二度とエクセルマクロを属人化させない7つのルール
1.担当者を最低2人にする
主担当だけでなく、副担当を決めます。
副担当にはコードを一から書ける能力まで求めなくても構いません。
少なくとも、入力データ、実行方法、正常結果、エラー時の連絡先を説明できる状態にします。
2.コードではなく業務仕様を残す
コメントを大量に書くだけでは十分ではありません。
業務目的、利用タイミング、入力、出力、例外、代替手順を1枚の資料へまとめます。
3.変更履歴を残す
「いつ・誰が・なぜ変更したか」を記録します。
| 日付 | 変更者 | 変更理由 | 変更内容 | テスト結果 |
|---|---|---|---|---|
| 2026/08/01 | ○○ | CSV列追加 | 読込列を変更 | 過去3カ月一致 |
4.入力データのルールを固定する
マクロ側だけを強くしても、入力元のCSVやExcelが自由に変更されれば保守負担はなくなりません。
列名、データ型、ファイル名、保存場所など、入力側のルールも管理します。
5.テストデータを保存する
正常に動くサンプルデータと正解の出力結果を保管します。
修正後に同じデータを流せば、結果が変わっていないか確認できます。
6.重要度を定期的に見直す
作成当時は重要だったマクロでも、現在は別システムへ移行済みで不要になっている場合があります。
年1回程度でもよいので、「まだ必要か」「利用者は誰か」「停止した場合の影響」を棚卸ししましょう。
7.廃止条件を最初に決める
マクロは作ると残り続けるため、廃止条件も決めておくと管理しやすくなります。
- 利用部署が3部署以上へ増えた
- 権限・承認・監査履歴が必要になった
- 外部システム連携が増えた
- 月次改修が常態化した
- デスクトップExcelを起動しないと業務が進まないことが問題になった
こうした条件を満たした段階で、別の自動化方法や業務システムを比較します。
Office ScriptsやPower Automateへ移行する選択肢
Microsoft 365を利用している場合、Office Scriptsも候補になります。
Office ScriptsはExcelの日常的な操作を記録・スクリプト化でき、組織内で共有することもできます。
さらにPower Automateと組み合わせれば、スケジュールやメールなどをきっかけにExcel処理を実行するワークフローも構築できます。
Microsoft公式「ExcelのOfficeスクリプト」
ただし、既存VBAをOffice Scriptsへ機械的に置き換えれば終わるわけではありません。
VBAとOffice Scriptsでは実行環境や利用できる機能が異なるため、「何を自動化しているか」を整理したうえで再設計してください。
SaaSへ移行した方がよいマクロもある
Excel内の作業を自動化しているだけなら、VBAやPower Queryを残せるケースは多くあります。
一方、次のような業務をExcelマクロで実現しているなら、専用システムとの比較をおすすめします。
- 複数人が日常的にデータを登録する
- 承認・差し戻しがある
- 担当者ごとの権限管理が必要
- 操作履歴を残したい
- 個人情報や機密情報を継続的に管理する
- 法令や制度変更への追従が必要
- 顧客・従業員向けの画面が必要
例えば勤怠、会計、問い合わせ管理などは、「Excelで処理できるか」ではなく、「Excelで継続的に運用・監査・保守することが適切か」で判断します。
バックオフィスでExcelを残す業務とSaaSへ移す業務の境界は、バックオフィス向け脱Excelツール3選で整理しています。
マクロ保守の費用は相場ではなく自社の総コストで比較する
現行記事のように「マクロ修理は数十万円・数百万円」「年間○万円損している」と一律に決めることはできません。
マクロの規模、仕様書の有無、外部システムへの依存、テスト環境、改修内容によって保守費用は大きく変わるからです。
上司へ説明する場合は、外部の平均価格ではなく自社で実際に使っている時間を計算します。
マクロの年間維持コストの考え方
年間維持コスト = 社内の修正・確認時間 × 時間単価 + 外部委託費 + 障害対応時間 × 時間単価
さらに、マクロ停止によって本来の業務が止まる場合は、その業務影響も別に整理します。
この金額と、VBAを整理する費用、Power Query等へ変更する費用、SaaSへ移行する費用を同じ期間で比較すると判断しやすくなります。

エクセルマクロ属人化に関するよくある質問
まとめ|エクセルマクロの属人化は捨てる前に見える化する
エクセルマクロが属人化していても、最初から「VBAを全部捨てよう」と考える必要はありません。
最優先で行いたいのは、現在の仕組みを見える化することです。
- 本番ファイルを保全する
- 業務目的を確認する
- 入力・出力・依存関係を棚卸しする
- テストデータと正常結果を残す
- 停止時の代替手順を作る
- 主担当・副担当を決める
- 変更履歴を残す
- VBA・Power Query・Office Scripts・Power Automate・SaaSを比較する
属人化解消のゴールは、最新技術へ置き換えることではなく、「誰か一人がいなくても業務を継続できる状態」を作ることです。
小さなマクロならVBAを残す。CSV加工ならPower Queryを試す。クラウド連携ならOffice ScriptsやPower Automateを比較する。業務システムの役割まで担っているならSaaSを検討する。
この順序で判断すれば、「古いから全部捨てる」「怖いから誰も触らない」の両極端を避けられます。
現在のマクロを何へ置き換えるべきか迷う場合は、VBAを含む7つのExcel自動化方法を比較した記事から確認してください。
\ 自社に合う自動化を選ぶ /
本記事は2026年8月16日時点で公開されているMicrosoft公式情報を確認して更新しています。Microsoft 365、Excel、VBA、Office Scripts、Power Automate等の仕様やセキュリティポリシーは変更される可能性があります。重要業務や機密情報を扱うマクロを変更する場合は、社内の情報システム・セキュリティ担当者等と確認しながら進めてください。
