※本ページにはプロモーション(広告)が含まれています
Excelでマクロ(VBA)を作成したのに、保存したら消えていた。実行しようとしたら「セキュリティリスク」の警告が出てブロックされた。このようなトラブルに悩んでいませんか?
ExcelのマクロやVBAが保存できない・消える・実行できない原因は、ファイル形式の選択ミス、セキュリティ設定によるブロック、個人用マクロブックの破損など、いくつかのパターンに分類できます。原因を正しく特定すれば、ほとんどのケースは自分で解決できます。
この記事では、Excelのマクロ・VBAが保存できない・消える・実行できないときの原因と具体的な対処法を、初心者の方にもわかりやすくステップ形式で解説します。
この記事でわかること
- マクロ(VBA)が保存できない・消えてしまう主な原因
- 「セキュリティリスク」でマクロがブロックされる理由と解除方法
- xlsxとxlsmの違いと正しい保存方法
- 信頼済みの場所の設定方法
- 個人用マクロブック(Personal.xlsb)が消えた時の復旧方法
- VBAプロジェクトが壊れた時の修復手順
- マクロのトラブルを防ぐための日常的な対策
マクロ(VBA)の基礎知識
対処法を理解するために、まずExcelのマクロとVBAの基本を押さえておきましょう。
マクロとは?
マクロとは、Excelの操作を自動化する機能です。繰り返し行う操作(データの整理、書式の変更、集計処理など)を記録しておき、ボタン一つで再実行できます。
マクロは大きく分けて2種類の作り方があります。
- マクロの記録:実際にExcel上で操作した内容を自動で記録する方法。プログラミング知識が不要で初心者でも使える
- VBAで直接コードを書く:Visual Basic for Applications(VBA)というプログラミング言語で、より高度な自動化処理を作成する方法
マクロに関連するファイル形式
Excelにはいくつかのファイル形式があり、マクロを保存できるかどうかは形式によって異なります。これがトラブルの最大の原因です。
| 拡張子 | 形式名 | マクロ保存 | 用途 |
|---|---|---|---|
| .xlsx | Excelブック | 不可 | 通常のExcelファイル |
| .xlsm | マクロ有効ブック | 可能 | マクロ付きのファイル |
| .xlsb | バイナリブック | 可能 | 大容量データ向け |
| .xls | Excel 97-2003ブック | 可能 | 旧形式(互換性用) |
| .xltm | マクロ有効テンプレート | 可能 | マクロ付きテンプレート |
重要ポイント:.xlsx形式ではマクロを保存できません。マクロが入ったファイルを.xlsx形式で保存すると、マクロ部分が削除されてしまいます。これが「マクロが消えた」トラブルの最も多い原因です。
個人用マクロブック(Personal.xlsb)とは
個人用マクロブックは、どのExcelファイルを開いていても使えるマクロを保存する特別なファイルです。Personal.xlsbという名前で、以下の場所に保存されています。
このファイルが破損したり削除されたりすると、個人用マクロブックに保存していたマクロがすべて使えなくなります。
マクロ(VBA)が保存できない・消える・実行できない原因一覧
マクロやVBAのトラブルは、大きく3つのカテゴリに分けられます。それぞれの原因と症状を表にまとめました。
保存できない・消える原因
| 原因 | 症状 | 発生頻度 |
|---|---|---|
| xlsx形式で保存した | 保存後にマクロがすべて消える | 非常に多い |
| 保存時の警告で「はい」を選択 | マクロなしで上書き保存される | 非常に多い |
| 個人用マクロブックの破損 | Personal.xlsbのマクロが全て消える | やや多い |
| VBAプロジェクトの破損 | VBAエディタでモジュールが表示されない | まれ |
| Officeの自動更新による不具合 | アップデート後にVBAが消失する | まれ |
実行できない・ブロックされる原因
| 原因 | 症状 | 発生頻度 |
|---|---|---|
| マクロのセキュリティ設定 | 「セキュリティの警告」バーが表示される | 非常に多い |
| インターネットからのファイルがブロック | 「Microsoftによりマクロの実行がブロックされました」と表示 | 非常に多い |
| 信頼済みの場所に登録されていない | 毎回マクロの有効化を求められる | 多い |
| VBAコードの構文エラー | 「コンパイルエラー」が表示される | 多い |
| 参照設定の不足 | 「実行時エラー」が発生する | やや多い |
| 個人用マクロブックの無効化 | 登録したマクロが一覧に表示されない | やや多い |
| グループポリシーによる制限 | 会社のPCでマクロが完全にブロック | 企業環境で多い |
【対処法1】正しいファイル形式(xlsm)で保存する
マクロが消えるトラブルの最も多い原因は、ファイル形式の選択ミスです。マクロ入りのファイルは必ず.xlsm形式で保存してください。
ステップ1:名前を付けて保存を開く
- Excelの「ファイル」タブをクリック
- 「名前を付けて保存」を選択(ショートカット:F12キー)
- 保存先のフォルダを選択
ステップ2:ファイルの種類を変更する
- 「名前を付けて保存」ダイアログで、「ファイルの種類」のドロップダウンをクリック
- 一覧から「Excel マクロ有効ブック (*.xlsm)」を選択
- 「保存」をクリック
ステップ3:既存のxlsxファイルをxlsmに変換する
すでにxlsx形式で保存してしまい、マクロが消えたファイルは元に戻せません。ただし、マクロのコードがバックアップやメモに残っている場合は、以下の手順で復旧できます。
- xlsxファイルを開く
- F12キーで「名前を付けて保存」を開く
- ファイルの種類を「Excel マクロ有効ブック (*.xlsm)」に変更
- 保存する
- Alt+F11でVBAエディタを開く
- マクロのコードを再入力または貼り付け
- 再度保存する
【対処法2】マクロのセキュリティ設定を変更する
Excelのマクロセキュリティ設定が厳しすぎると、マクロが実行できません。セキュリティレベルを適切に調整しましょう。
ステップ1:トラストセンター(セキュリティセンター)を開く
- Excelの「ファイル」タブをクリック
- 「オプション」を選択
- 左メニューから「トラストセンター」(または「セキュリティセンター」)をクリック
- 「トラストセンターの設定」ボタンをクリック
ステップ2:マクロの設定を変更する
- 左メニューから「マクロの設定」を選択
- 以下の4つの選択肢から適切なものを選ぶ
| 設定 | 動作 | 推奨度 |
|---|---|---|
| 警告なしですべてのマクロを無効にする | すべてのマクロがブロックされ、通知もなし | セキュリティ最優先の場合 |
| 警告を表示してすべてのマクロを無効にする | マクロは無効だが、黄色い通知バーで有効化を選べる | 推奨 |
| デジタル署名されたマクロを除き無効にする | 署名付きマクロのみ自動実行 | 企業環境向け |
| すべてのマクロを有効にする | すべてのマクロが自動実行される | 非推奨(危険) |
推奨設定は「警告を表示してすべてのマクロを無効にする」です。この設定であれば、ファイルを開いた時に黄色い通知バーが表示され、自分で「コンテンツの有効化」をクリックしてマクロを有効にできます。セキュリティを保ちながらマクロも使える、バランスの良い設定です。
ステップ3:設定を保存する
- 設定を選択したら「OK」をクリック
- もう一度「OK」をクリックしてオプション画面を閉じる
- Excelを一度閉じて再起動する
【対処法3】インターネットからダウンロードしたファイルのブロックを解除する
2022年以降、Microsoftはセキュリティ強化のため、インターネットからダウンロードしたExcelファイルのマクロをデフォルトでブロックするようになりました。「セキュリティリスク:このファイルのソースが信頼できないため、Microsoftによりマクロの実行がブロックされました」というメッセージが表示される場合は、以下の方法で解除できます。
方法A:ファイルのプロパティからブロック解除(推奨)
- 該当するExcelファイルを右クリック
- 「プロパティ」を選択
- 「全般」タブの一番下に「セキュリティ」の項目がある
- 「許可する」にチェックを入れる
- 「適用」→「OK」をクリック
- ファイルを開き直す
方法B:PowerShellでブロック解除
複数のファイルを一括でブロック解除したい場合は、PowerShellを使う方法が便利です。
- Windowsの検索バーで「PowerShell」と入力
- 「Windows PowerShell」を右クリック→「管理者として実行」
- 以下のコマンドを実行
単一ファイルの場合:
フォルダ内の全xlsmファイルを一括解除する場合:
【対処法4】信頼済みの場所にフォルダを追加する
特定のフォルダに保存したマクロファイルを毎回ブロック解除するのは面倒です。そこで、「信頼済みの場所」として登録すれば、そのフォルダ内のファイルはマクロが自動的に有効になります。
ステップ1:トラストセンターを開く
- 「ファイル」→「オプション」→「トラストセンター」を開く
- 「トラストセンターの設定」をクリック
ステップ2:信頼できる場所を追加する
- 左メニューから「信頼できる場所」を選択
- 「新しい場所の追加」をクリック
- 「参照」ボタンをクリックして、マクロファイルを保存しているフォルダを選択
- サブフォルダも含めたい場合は「この場所のサブフォルダーも信頼する」にチェック
- 「OK」をクリック
ステップ3:ネットワーク上の場所を信頼済みにする場合
会社の共有フォルダなど、ネットワーク上のフォルダを信頼済みにする場合は、追加の設定が必要です。
- トラストセンターの「信頼できる場所」画面で、「自分のネットワーク上にある信頼できる場所を許可する」にチェックを入れる
- 「新しい場所の追加」でネットワークパス(例:\\server\share\macros)を入力
- 「OK」で保存
【対処法5】個人用マクロブック(Personal.xlsb)を復旧する
個人用マクロブックが消えたり無効化されたりして、登録していたマクロが使えなくなった場合の対処法です。
ケース1:Personal.xlsbが無効化されている場合
Excelのクラッシュ後に個人用マクロブックが自動的に無効化されることがあります。
- 「ファイル」→「オプション」→「アドイン」を選択
- 画面下部の「管理」ドロップダウンで「使用できないアイテム」を選択して「設定」をクリック
- 一覧に「PERSONAL.XLSB」が表示されていたら選択
- 「有効にする」をクリック
- Excelを再起動する
ケース2:Personal.xlsbファイルが削除されている場合
まず、ファイルが存在するか確認します。
- エクスプローラーのアドレスバーに以下のパスを入力してEnter
- フォルダ内にPersonal.xlsbがあるか確認
- ない場合は、以下の手順で新規作成する
ケース3:Personal.xlsbを新規作成する
- Excelで新しいブックを開く
- 「開発」タブ→「マクロの記録」をクリック
- 「マクロの保存先」を「個人用マクロブック」に変更
- 「OK」をクリック
- 何か簡単な操作(セルをクリックするだけでもOK)を行う
- 「記録終了」をクリック
- Excelを閉じる際に「個人用マクロブックの変更を保存しますか?」と聞かれたら「保存」をクリック
これで新しいPersonal.xlsbファイルが作成されます。以前のマクロは失われていますが、新しくマクロを登録できる状態に復旧できます。
ケース4:バックアップから復元する
Personal.xlsbのバックアップがある場合(Windowsの「以前のバージョン」機能やOneDriveのバージョン履歴など)は、以下の手順で復元します。
- Excelが完全に終了していることを確認
- XLSTARTフォルダ(
%AppData%\Microsoft\Excel\XLSTART)を開く - バックアップのPersonal.xlsbファイルをXLSTARTフォルダにコピー
- Excelを起動して、マクロが復元されているか確認
【対処法6】VBAプロジェクトを修復する
VBAエディタでモジュールが表示されない、コードが消えているなど、VBAプロジェクト自体が壊れている場合の対処法です。
方法A:VBAモジュールをエクスポート・インポートする
壊れたファイルからVBAコードを救出する手順です。
- Alt+F11でVBAエディタを開く
- 左側のプロジェクトエクスプローラーで、問題のモジュールを確認
- モジュールが表示されている場合は、右クリック→「ファイルのエクスポート」を選択
- .basファイル(標準モジュール)として任意の場所に保存
- 新しいxlsmファイルを作成
- 新しいファイルのVBAエディタで、右クリック→「ファイルのインポート」を選択
- 先ほどエクスポートした.basファイルを選択
方法B:VBAプロジェクトをコンパイルしてエラーを検出する
VBAコードに構文エラーがある場合、マクロが正常に動作しません。
- Alt+F11でVBAエディタを開く
- メニューの「デバッグ」→「VBAProjectのコンパイル」をクリック
- エラーがあれば、該当箇所がハイライトされて表示される
- エラー内容を確認して修正する
方法C:参照設定を確認・修復する
他のPC環境にファイルを移動した場合、参照設定が見つからなくなることがあります。
- VBAエディタのメニューで「ツール」→「参照設定」を開く
- 「参照不可」と表示されている項目がないか確認
- 「参照不可」のチェックを外す
- 必要な参照(例:Microsoft Scripting Runtime など)を再度チェックして追加
- 「OK」で閉じる
【対処法7】「開発」タブが表示されていない場合
VBAエディタやマクロの記録を使うには、「開発」タブが必要です。初期設定では非表示になっているため、まず表示設定を確認しましょう。
- 「ファイル」→「オプション」→「リボンのユーザー設定」を選択
- 右側の「メインタブ」一覧から「開発」にチェックを入れる
- 「OK」をクリック
これでリボンに「開発」タブが追加され、マクロの記録・実行、VBAエディタへのアクセスが可能になります。
【対処法8】Officeの修復とアップデート
上記の方法で解決しない場合、Office自体に問題がある可能性があります。
Officeのアップデート
- Excelを開いて「ファイル」→「アカウント」を選択
- 「更新オプション」→「今すぐ更新」をクリック
- 更新が完了したらExcelを再起動
Officeのクイック修復
- Windowsの「設定」→「アプリ」→「インストール済みアプリ」を開く
- 「Microsoft Office」または「Microsoft 365」を見つけて「変更」をクリック
- 「クイック修復」を選択して「修復」をクリック
- 修復が完了したらPCを再起動
クイック修復で改善しない場合は、「オンライン修復」を試してください。インターネット接続が必要ですが、より徹底的な修復が行われます。
【対処法9】レジストリ設定による修復(上級者向け)
Officeの更新後にVBAが消失する特定の不具合に対しては、レジストリの変更で改善できる場合があります。
- Excelを完全に終了する
- Windows+Rを押して「ファイル名を指定して実行」を開く
regeditと入力して「OK」をクリック- 以下のパスに移動
- 「Options」を右クリック→「新規」→「DWORD(32ビット)値」
- 名前を「ForceVBALoadFromSource」に設定
- 値のデータを「1」に設定
- 「OK」をクリック
- Excelを再起動して、VBAが正常に表示されるか確認
マクロのトラブルを予防するための日常対策
マクロが消えたり動かなくなったりするトラブルを防ぐために、日頃から以下の対策を実施しましょう。
| 対策 | 方法 | 効果 |
|---|---|---|
| 定期バックアップ | マクロファイルとPersonal.xlsbを定期的にバックアップ | 消失時に復元可能 |
| VBAコードのエクスポート | 重要なモジュールは.basファイルとして書き出し | コード消失時の復旧が容易 |
| xlsm形式で保存する習慣 | 新規ファイル作成時に最初にxlsmで保存 | 形式ミスによる消失を防止 |
| 信頼済みフォルダの活用 | マクロファイル専用のフォルダを作成して信頼済み登録 | 毎回のブロック解除が不要に |
| Office更新前の確認 | 大きなアップデート前にマクロファイルのバックアップを取る | アップデート起因の消失を防止 |
| バージョン管理 | VBAコードをテキストファイルにもコピーして保管 | 変更履歴の追跡が可能 |
よくある質問(FAQ)
まとめ
Excelのマクロ(VBA)が保存できない・消える・実行できない場合の対処法を整理します。
| 症状 | 最も可能性の高い原因 | 対処法 |
|---|---|---|
| 保存後にマクロが消える | xlsx形式で保存している | xlsm形式で保存し直す |
| 「ブロックされました」と表示 | ダウンロードファイルのブロック | プロパティからブロック解除 |
| 毎回「コンテンツの有効化」が出る | 信頼済みの場所に未登録 | 信頼済みの場所にフォルダ追加 |
| 個人用マクロが使えない | Personal.xlsbの無効化・消失 | アドイン設定から有効化・再作成 |
| コンパイルエラーが出る | VBAコードの構文エラー・参照不可 | コンパイルチェック・参照設定修復 |
| 会社PCで完全にブロック | グループポリシーによる制限 | IT管理者に相談 |
最も重要なポイントは以下の3つです。
- マクロ入りファイルは必ずxlsm形式で保存する(xlsx形式ではマクロが消える)
- セキュリティ設定は「警告を表示して無効」が推奨(安全性と利便性のバランス)
- VBAコードは定期的にバックアップを取る(エクスポート機能を活用)
この記事の対処法を順番に試すことで、ほとんどのマクロ・VBAトラブルは解決できます。特にファイル形式の選択ミスは初心者に最も多い原因ですので、保存時には必ずファイルの種類を確認する習慣をつけましょう。
minto.tech スマホ(Android/iPhone)・PC(Mac/Windows)の便利情報をお届け! 月間アクセス160万PV!スマートフォン、タブレット、パソコン、地デジに関する素朴な疑問や、困ったこと、ノウハウ、コツなどが満載のお助け記事サイトはこちら!