はじめに
Excel VBAでQRコード作成などの外部マクロを活用していたところ、新規ファイルを開いてもVBAツリーに外部マクロが残っている現象に遭遇しました。
一見すると不具合のように見えますが、これはExcelの仕組みを理解すれば納得できる動作です。
本記事では、実際に遭遇した現象とその原因、そして対処法をわかりやすく解説します。
現象の概要
新規ファイル(Book1.xlsxなど)を開いてVBAエディタ(Alt + F11)を起動すると、以下のように本来の VBAProject (Book1)
とは別に、外部マクロのプロジェクト(例:QRCodeLib (QRCodeLib)
)がツリーに表示されていました。
この状態では、QRコード作成マクロが常に読み込まれているように見えます。
原因:Excelアドインとして登録されていた
調査の結果、外部マクロは .xlam
形式のExcelアドインとして登録されていました。
Excelアドインは、Excelの起動時に自動的に読み込まれるため、新規ファイルでもVBAツリーに表示され続けます。
対処法:アドインの解除手順
以下の手順で、不要なアドインを解除できます。
- Excelを開く
- 「ファイル」→「オプション」→「アドイン」
- 下部の「管理」→「Excelアドイン」→「設定」ボタンをクリック
- 該当アドイン(例:QRCodeLib)のチェックを外す
- Excelを再起動
これで、新規ファイルを開いてもVBAツリーに外部マクロが表示されなくなります。
補足:他にも考えられる原因
1. 参照設定でライブラリとして読み込まれている
- VBAエディタで「ツール」→「参照設定」を確認
- 外部ライブラリにチェックが入っている場合は解除
2. 個人用マクロブック(PERSONAL.XLSB)に保存されている
- Excelの「表示」→「非表示」で
PERSONAL.XLSB
が開いているか確認 - 不要であれば非表示またはマクロ削除
まとめ
外部マクロが新規ファイルに残る現象は、Excelアドインとして登録されていたことが原因でした。
便利なマクロも、仕組みを理解して使うことでトラブルを防ぎ、業務効率化に貢献できます。
同じような悩みを持つ方の参考になれば幸いです!
おまけ:今回の学び
- Excelアドインは便利だが、常駐することに注意
- VBAツリーに表示されるマクロは、必ずしもそのファイルに属しているとは限らない
- 実体験を通じて、Excelの仕組みをより深く理解できた