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項目はコードに書かれていないので、前任者がいるうちに聞き取ります。
目次
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秒ほどで終わりました。
自動で埋まった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行あり、プリンターの指定は引き継ぎ書に人が書きます。
使っていない処理の候補は4個出ました。どこからも呼ばれず、ボタンにも割り当てられていないものです。うち1個はコメントに「旧版、いまは印刷だけ」とあり、1個は試し用でした。
ただ、ショートカットキーや「マクロの実行」の画面から手で動かす処理は、ツールに出ません。消す前に、使う人に聞きます。設定シートの値(締め日・会社名の2項目)も、ツールは項目名を拾えますが、変えてよいかは人が決めます。
人が書く2項目は、前任者にどう聞けばよいですか?
業務と使う人、戻す手順の2項目は、コードに書かれていません。前任者がいるうちに、実際に押してもらいながら聞きます。
聞くことは次の5つです。私が聞き取るときも、この順で進めます。
- このボタンを押すのは誰で、毎日・週1回・月末のどれか
- 押す前と後に、手で転記や確認をしている所はあるか
- 止まったとき、これまでどうやって業務を回したか
- ひとつ前の版のブックは、どこに置いてあるか
- 最近、シート名・列・保存先を変えたことはあるか
戻す手順は、マクロを使わずに同じ結果を出す手作業として書くのが確実です。前任者がもういないときは、使っている人に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日。
出典
- oletools(olevba)の説明。OfficeのファイルからVBAのコードを取り出して解析するPythonのツール(2026年10月16日確認)
- Microsoft Learn「Compatibility between the 32-bit and 64-bit versions of Office」(Declare文のPtrSafe)(2026年10月16日確認)
- Microsoft Learn「Macros from the internet are blocked by default in Office」(2026年10月16日確認)
- Microsoft Learn「Identify COM add-ins in your organization」(新しいOutlookはVBAをサポートしない)(2026年10月16日確認)