マクロの守り中小企業のAI導入支援|Excelマクロ(VBA)の属人化の解消からExcelマクロ(VBA)の引き継ぎ 専門

コラムやり方・手順

VBAの引き継ぎ書には、何を書けばよいですか?12項目のテンプレートと解析ツールで埋めた例

VBAの引き継ぎ書は、マクロを作った人がいなくなっても次の人が直せるように、動かし方・止まったときの戻し方・読み書きするシートと外部ファイル・直してよい所の4つを書き残す文書です。この4つを3項目ずつ、12項目のひな形(テンプレート)にしました。架空の受注集計マクロ(1,182行)を解析ツールにかけて埋めると、ツールだけで埋まったのは4項目で、2項目は人にしか書けませんでした。マクロの守りの実験です(2026年10月時点)。

読み解きから直す・置き換えるまでの流れと費用はExcelマクロの引き継ぎのページにまとめています。

要点

  • VBAの引き継ぎ書は、動かし方・戻し方・シートと外部ファイル・直してよい所の4つ×3項目の12項目で足ります。
  • 架空の受注集計マクロ(1,182行・プロシージャ41個)では、12項目中4項目が解析ツールの出力だけで埋まりました。
  • 6項目は下書きまでで、ActiveSheetの4行やPDFの保存先1件はツールが拾えず、人がコードを読んで足しました。
  • 業務の目的と戻す手順の2項目はコードに書かれていないので、前任者がいるうちに聞き取ります。
目次
  1. VBA の引き継ぎ書には、何を書けば次の人が直せますか?
  2. 12項目のうち、解析ツールで自動で埋まるのはいくつですか?
  3. 解析ツールが拾えず、人が確かめる所はどこですか?
  4. 人が書く2項目は、前任者にどう聞けばよいですか?
  5. 動く条件は、なぜ引き継ぎ書に書き残すのですか?
  6. このサイトで相談するには?
  7. よくある質問

VBA の引き継ぎ書には、何を書けば次の人が直せますか?

動かし方、止まったときの戻し方、読み書きするシートと外部ファイル、直してよい所。この4つが書いてあれば、次の人が直せます。Excelマクロの引き継ぎの流れでは、処理の図を作ったあとに残す文書がこれです。

このページは、引き継ぎ書に書く項目だけを扱います。全体の進め方は6段階の手順、処理の図の描き方は呼び出し関係の図にあります。

4つを3項目ずつに分けると、次の12項目になります。右の列は、架空のサンプルを解析ツールにかけたとき、その項目がどこまで埋まったかです。

まとまり 項目 書くこと サンプルでの埋まり方
動かし方 1 入口 どのボタン、いつ動くか 自動
動かし方 2 処理の順番 入口から呼ばれる順 自動
動かし方 3 業務と使う人 何の業務で、誰がいつ押すか 人が書く
戻し方 4 エラーと記録 エラーの出方、記録の場所 自動
戻し方 5 止まりやすい所 シート名やパスの直書き 自動
戻し方 6 戻す手順 旧版の場所、手作業での代わり 人が書く
シートとファイル 7 シート 読むシート、書くシート 下書き
シートとファイル 8 外部ファイル 開く・保存するファイル、印刷 下書き
シートとファイル 9 動く条件 64bit、置き場所、署名 下書き
直してよい所 10 設定の値 変えてよい値と場所 下書き
直してよい所 11 使っていない処理 消してよい候補 下書き
直してよい所 12 変更の記録 日付、直した所、理由 下書き

一般的な引き継ぎ書のひな形は、業務の手順と連絡先が中心です。マクロの場合は、シートと外部ファイルの名前まで書かないと、名前を1つ変えた日に止まっても原因を追えません。マクロの守りの引き継ぎ書は、この12項目で書きます。

12項目のうち、解析ツールで自動で埋まるのはいくつですか?

架空の受注集計マクロで試すと、ツールの出力だけで埋まったのは12項目中4項目でした。下書きまで埋まったのが6項目、コードからは何も出なかったのが2項目です。

サンプルは、導入例(イメージ)の金属加工の会社を想定して作った受注集計マクロです。標準モジュール6つ、1,182行、プロシージャ41個で、中身はすべて架空です。

マクロの守りの解析ツールは、oletoolsのolevbaでVBAを取り出します。そのうえで自作のパーサが、入口・呼び出し・シート・ファイル・Declare文を数えます。Excelは起動せず、マクロも動かしません。このPCでは1回1.1秒ほどで終わりました。

引き継ぎ書の12項目を解析ツールで埋められたかで色分けした図。入口2か所・呼び出し117本・エラー処理18か所など4項目は自動、シート・外部ファイル・動く条件など6項目は下書き、業務と戻す手順の2項目は人が書く引き継ぎ書の12項目は、解析ツールでどこまで埋まるか架空の受注集計マクロ(標準モジュール6・1,182行・プロシージャ41個)を解析した結果動かし方入口(ボタン・開いたとき)2か所処理の順番(呼び出し関係)41個・117本何の業務で、誰がいつ使うかコードになし止まったときの戻し方エラーの出方と記録の場所18か所・記録は「設定」止まりやすい直書き4行戻す手順と旧版の置き場所コードになしシートと外部ファイル読み書きするシート5枚・要確認5行開く・保存するファイル3件中2件・印刷1行動く条件(64bit・部品)Declare 3・PtrSafeなし1直してよい所設定シートで変えてよい値2項目使っていないマクロ候補4個変更の履歴コメントに6日分ツールの出力で埋まる 4項目下書きまで(人が確かめて足す) 6項目人が書く 2項目解析:oletools 0.60.2(olevba)+自作パーサ、2026-10-16、マクロの守りの計算。サンプルのコードはすべて架空
図1 12項目のうち、ツールだけで埋まったのは4項目。架空のサンプル(1,182行)を2026年10月16日に解析した結果です。

自動で埋まった4項目のうち、入口はボタン「集計」とブックを開いたときの2か所、呼び出しは117本でした。エラー処理は18か所あり、記録はすべて「設定」シートに書かれます。

止まりやすい直書きは、シート名「4月」が3行、保存先「C:\出荷\」が1行です。動く条件の項目では、32bit用の書き方のままのDeclare文を1行見つけました。ただ、Excelの版や置き場所はコードの外にあるので、この項目は下書きまでです。数え方の要点は次の数行です(scripts/figs/handover_template.py)。

r = analyze.analyze_book(BOOK, shapes)        # olevba で取り出して数える
entries = [p for p in procs if p['entry']]    # 入口
edges = sum(len(p['calls']) for p in procs)   # 呼び出しの本数
active = grep(r'\bActiveSheet\b')             # ツールが拾えない行

限界もあります。サンプルは1冊だけで、書き方も読みやすく作りました。実物のブックでは、自動の項目にも人の確かめが要ります。

解析ツールが拾えず、人が確かめる所はどこですか?

拾えなかったのは、シートやファイルの名前が直接書かれていない行です。サンプルでは、シートで5行、外部ファイルで1件ありました。

シートの5行のうち4行は ActiveSheet(そのとき開いているシート)を使う行です。押したときに開いていたシートに書くので、どのシートかはコードから決まりません。残る1行は、前月のシート名を日付から組み立てる行でした。

外部ファイルは3件中2件を拾い、ThisWorkbook.Path(ブックと同じフォルダ)にPDFを保存する1件が漏れました。印刷する行も1行あり、プリンターの指定は引き継ぎ書に人が書きます。

導入イメージ。解析ツールの結果。6つのモジュールと41のプロシージャの呼び出し関係が線でつながり、読み書きするシートと開く外部ファイルが右に並び、要確認の5か所がコードの行つきで一覧になった画面
図2 解析ツールの結果の画面(導入イメージ)。呼び出し関係と、読み書きするシート、要確認の5か所が1画面に並びます。

使っていない処理の候補は4個出ました。どこからも呼ばれず、ボタンにも割り当てられていないものです。うち1個はコメントに「旧版、いまは印刷だけ」とあり、1個は試し用でした。

ただ、ショートカットキーや「マクロの実行」の画面から手で動かす処理は、ツールに出ません。消す前に、使う人に聞きます。設定シートの値(締め日・会社名の2項目)も、ツールは項目名を拾えますが、変えてよいかは人が決めます。

人が書く2項目は、前任者にどう聞けばよいですか?

業務と使う人、戻す手順の2項目は、コードに書かれていません。前任者がいるうちに、実際に押してもらいながら聞きます。

聞くことは次の5つです。私が聞き取るときも、この順で進めます。

  1. このボタンを押すのは誰で、毎日・週1回・月末のどれか
  2. 押す前と後に、手で転記や確認をしている所はあるか
  3. 止まったとき、これまでどうやって業務を回したか
  4. ひとつ前の版のブックは、どこに置いてあるか
  5. 最近、シート名・列・保存先を変えたことはあるか
導入イメージ。引き継ぎ書の「止まったときの戻し方」のページ。ひとつ前の版のファイルの場所、マクロを使わずに同じ結果を出す3つの手順、止まりやすい所と直した後の表が並ぶ
図3 引き継ぎ書の「止まったときの戻し方」のページ(導入イメージ)。旧版の置き場所と、マクロを使わずに同じ結果を出す手順を書きます。

戻す手順は、マクロを使わずに同じ結果を出す手作業として書くのが確実です。前任者がもういないときは、使っている人に3番と5番を聞き、共有フォルダで旧版を探します。

動く条件は、なぜ引き継ぎ書に書き残すのですか?

PCやフォルダを替えた日に止まる原因が、コードの外にもあるからです。今動いている条件を書いておけば、止まったときに比べられます。

64bit版のOfficeでは、PtrSafeの付いていないDeclare文はコンパイルエラーになります(Microsoft Learn)。サンプルにもこの行が1つあり、32bitのPCで動いていても、64bitのPCへ替えた日に止まります。

インターネットから来たファイルのマクロは、既定でブロックされます。信頼できる場所(Trusted Location)にあるか、署名があるかで扱いが変わります。新しいOutlook for WindowsはVBAを動かしません。メールを送る処理があれば、従来のOutlookを使っていることも書きます。

引き継ぎ書の「動く条件」には、次の4つを書きます。

  • Excelの版と、32bit・64bitの別
  • ブックの置き場所(共有フォルダのパス)
  • 信頼できる場所や署名の設定
  • 使っているOutlook(従来の版・新しい版の別)

このサイトで相談するには?

マクロの守りでは、ブックの複製を解析して処理の図にし、12項目の引き継ぎ書に書き残します。解析はお客さまのPCの中で動かし、中身を外に出しません。

何をどう頼むか決まっていなくても大丈夫です。御社のやり方に合わせて、進め方を一緒に考えます。準備は要りません。無料で相談するからお送りください。

よくある質問

引き継ぎ書はWordとExcelのどちらで作ればよいですか?
どちらでも構いません。大事なのは置き場所で、マクロのブックと同じフォルダに置き、ブックの中の説明シートにもその場所を1行書いておくと見失いません。
前任者がもう辞めていても、引き継ぎ書は作れますか?
はい。サンプルでは12項目のうち10項目がコードから埋まり、うち6項目は人の確かめが要りました。残る2項目は、使っている人への聞き取りと旧版探しで埋めます。
コードの中のコメントだけで、引き継ぎ書の代わりになりますか?
なりません。サンプルでは41個すべてに目的のコメントがありましたが、戻す手順や旧版の置き場所はどこにも書かれていませんでした。
引き継ぎ書は、マクロを直すたびに書き直すのですか?
変えた所だけ足します。変更の記録に日付・直した所・理由を1行ずつ書けば、次の人が同じ所でつまずきません。

この記事の実験・計算の条件

架空の受注集計マクロ1,182行を解析ツールにかけ、引き継ぎ書12項目の埋まり方を確認。2026年10月16日。

出典

  1. oletools(olevba)の説明。OfficeのファイルからVBAのコードを取り出して解析するPythonのツール(2026年10月16日確認)
  2. Microsoft Learn「Compatibility between the 32-bit and 64-bit versions of Office」(Declare文のPtrSafe)(2026年10月16日確認)
  3. Microsoft Learn「Macros from the internet are blocked by default in Office」(2026年10月16日確認)
  4. Microsoft Learn「Identify COM add-ins in your organization」(新しいOutlookはVBAをサポートしない)(2026年10月16日確認)