「一生懸命コードを書いたのに、ファイルを閉じて開き直したらマクロが全部消えていた……」
これ、実はVBA初心者が必ず一度は通る「絶望の瞬間」なんです。
普通のエクセルファイル(xlsx)のまま保存すると、マクロは容赦なく削除されてしまいます。
努力を水の泡にしないためには、VBA専用の保存ルールを知っておく必要があります。
今回は、マクロを正しく保存する「xlsm」形式の秘密から、開くときに表示される「警告メッセージ」の正体、そして安全に作業を始めるためのセキュリティ設定までを徹底解説します。
この記事を読めば、あなたの書いた大切なマクロを一生守り抜くことができますよ!
以前Level1にて拡張子を意識してファイル保存する方法として
サラッと触れた内容をマクロに特化して紹介します。

普通に保存はNG!「マクロ有効ブック(.xlsm)」を選ぼう
エクセルには、マクロを含めることができるファイルと、できないファイルがあります。
- .xlsx(普通のエクセル): マクロを保存できません。書いた後にこれで保存すると、マクロは消滅します。
- .xlsm(マクロ有効ブック): マクロを保存できる専用の形式です。
【正しい保存の手順】
- 「ファイル」タブから「名前を付けて保存」を選択。
- ファイルの種類(拡張子)のプルダウンをクリック。
- リストから必ず「Excel マクロ有効ブック (.xlsm)」を選択する。
- 保存ボタンをクリック!

アイコンに「感嘆符(!)」がついたものがマクロ有効ブックの目印です。
マクロを書くファイルはすべて「!マークのついたファイル」だと覚えましょう。
マクロのセキュリティ
警告!「コンテンツの有効化」を恐れないで
マクロ有効ブック(.xlsm)を開くと、画面上部に黄色いバーで
「セキュリティの警告:マクロが無効にされました」というメッセージが出ることがあります。
「ウイルス!?」「何かいけないことをした?」と不安になるかもしれませんが
これはエクセルがあなたを守ろうとしている証拠です。
- 理由: マクロは非常に強力なため、悪意のあるマクロが勝手に動かないよう
エクセルが一旦「待った」をかけているのです。 - 対策: 自分で作ったファイルや、信頼できる人からもらったファイルであれば
「コンテンツの有効化」をクリックしてください。

これを押さない限り、どれだけ正しいコードを書いてもマクロは1ミリも動きません。

エラーとかではなくマクロが動かないとき
大体は「コンテンツの有効化」を忘れているよ!
マクロ利用ファイルのセキュリティ対策
自身で作成したり、信用できるところから入手したマクロであれば問題はありません。
しかし、サンプルコードやテンプレートなどをダウンロードして利用する際
なんでもすぐに利用できる環境にはしないでください。
「あなたが許可したマクロのみ」を利用できるようにして
セキュリティ対策をしましょう。
【設定手順】
- 「開発」タブ→マクロのセキュリティをクリック
- 「トラストセンター」の「マクロの設定」を選択
- 「警告して、VBAマクロを無効にする」にチェック
- 「OK」を選択して完了

もしマクロが消えてしまったら?
もし間違えて「.xlsx」で保存してしまい、マクロが消えてしまった場合
残念ながら「上書き保存」をした後では元に戻せません。
だからこそ、以下の習慣を身につけてください。
- こまめにバックアップ: 「ファイル名_20231027.xlsm」のように、日付をつけて別名で保存する。
- コードをメモ帳に貼る: 大きな改造をするときは、VBEのコードを一旦コピーして、メモ帳(テキストファイル)に貼り付けておくと安心です。
- 元ファイルは保管し、コピーしたものを利用する(オススメ!)

マクロが消えたら絶望だよ。
業務効率ガタ落ち・作り直しに膨大な時間…
そんなことにならないために
必ずどれか1つは実践しよう!
「マクロの記録」を使う前の最終確認
次回はいよいよ、お待ちかねの「マクロの記録」に挑戦します。
その前に、今回の設定が完璧か最終確認しましょう。
- 拡張子が「.xlsm」になっていますか?
- VBEの画面でフォントは大きく設定しましたか?(第3回の内容)
- 「開発」タブは表示されていますか?
この準備がすべて整って初めて、あなたはエクセルに「命令」を下す資格を得たことになります。
今回のクエストを終えて
- 保存するときは必ず「Excel マクロ有効ブック (.xlsm)」を選ぶ!
- ファイルを開いた時の「コンテンツの有効化」は怖くない!
- セキュリティ対策をしよう!
- 万が一に備えて、バックアップを習慣にする!
これで、あなたのマクロは安全に、そして快適に動くようになります。
次回は、「マクロの記録」を使って、1行もコードを書かずにVBAを扱う方法を解説します!
いよいよマクロの凄さを体感する時が来ました。
楽しみにしていてくださいね!





コメント