エクセルでマクロを有効にする方法
ファイルを開いたときに出る黄色いバーの コンテンツの有効化 を押します。 バーが出ない場合は、ファイルを右クリック → プロパティ → 許可する にチェックします。
マクロはプログラムです。有効にすると、そのファイルの中のコードが実行されます。送り主がはっきりしていて、内容に心当たりのあるファイルだけ有効にしてください。メールに突然添付されてきたものや、 検索して見つけたファイルは有効にしないでください。
方法1:黄色いバーから有効にする
いちばん普通の方法です。そのファイルを開いている間だけ有効になるので、影響範囲が限られていて安全です。
- マクロを含むファイル(.xlsm)を開きます。
- 画面上部に セキュリティの警告 という黄色いバーが出ます。
- バーの右側にある コンテンツの有効化 をクリックします。
- バーが消え、マクロが使えるようになります。
同じファイルを次に開いたときは警告が出ません。 Excel がそのファイルを「信頼済み」として覚えるためです。覚えさせたくない場合は、ファイルを別の場所に移動すると再び警告が出るようになります。
方法2:バーが出ず「ブロックされました」と出るとき
赤いバーで「セキュリティ リスク このファイルのソースが信頼できないため、 Microsoft によりマクロの実行がブロックされました」と出ることがあります。これはインターネットからダウンロードしたファイルに付く印が原因です。
- Excel をいったん閉じます。
- エクスプローラーでそのファイルを右クリックし、プロパティ を選びます。
- 全般 タブの下のほうにある セキュリティ の欄を見ます。
- 許可する にチェックを入れ、OK を押します。
- もう一度ファイルを開くと、黄色いバーに変わります。
これは「このファイルは信用できる」と自分で宣言する操作です。セキュリティ の欄が出ない場合は、 そもそもダウンロードされたファイルではありません。送り主に心当たりが無いなら、ここで止めてください。
方法3:セキュリティセンターで設定を確認する
そもそも警告バーすら出ない場合は、設定でマクロが完全に無効になっています。
- ファイル → オプション を開きます。
- トラスト センター → トラスト センターの設定 をクリックします。
- マクロの設定 を選びます。
- 警告して、VBA マクロを無効にする が選ばれていることを確認します(これが推奨の設定です)。
| 設定 | 動き | 評価 |
|---|---|---|
| 警告せずにすべて無効 | バーも出ない | 安全だが不便 |
| 警告して無効にする | 黄色いバーが出て、自分で選べる | これを使う |
| すべて有効にする | 何も聞かずに実行される | 選ばない。危険なファイルも動く |
🔴 「すべてのマクロを有効にする」は選ばないでください。開いただけでプログラムが動く状態になり、 ランサムウェアなどの被害を受ける典型的な経路になります。 必要なファイルごとに黄色いバーで許可するほうが、手間はほぼ変わらず安全です。
毎回聞かれるのが面倒なとき
業務で決まったマクロファイルを毎日使う場合は、信頼できる場所にフォルダを登録する方法があります。 そのフォルダの中のファイルだけ、警告なしで動くようになります。
- ファイル → オプション → トラスト センター → トラスト センターの設定 を開きます。
- 信頼できる場所 を選びます。
- 新しい場所の追加 をクリックします。
- マクロファイルを置く専用フォルダを指定します。
デスクトップやダウンロードフォルダを信頼できる場所にしてはいけません。そこに届いたファイルが自動で実行可能になってしまいます。 専用のフォルダを新しく作って、そこだけを登録してください。
やってみる
マクロは実行しませんが、マクロで自動化しようとしている作業の多くは関数で足りることがあります。 まず関数でできる範囲を確かめてみてください。
よくある失敗
- 黄色いバーが出ない
そのファイルにマクロが含まれていないか、拡張子が
.xlsxになっています。マクロを含むファイルの拡張子は.xlsmです。 - 赤いバーで「ブロックされました」と出る
ダウンロードしたファイルに付く印が原因です。ファイルを右クリック → プロパティ → 許可する にチェックを入れます。
- 有効にしたのに翌日また聞かれる
ファイルを別の場所へ移動したか、名前を変えています。 Excel は「その場所のそのファイル」として覚えるためです。
- 会社のPCで設定が変えられない
管理者によってポリシーで固定されています。回避しようとせず、情報システム部門に相談してください。業務上必要なら、信頼できる場所の登録を依頼するのが正規の手順です。
- 保存したらマクロが消えた
.xlsxで保存しています。マクロを残すには Excel マクロ有効ブック (*.xlsm) を選んで保存します。
どこまで許可すべき?(判断の使い分け)
| 状況 | とるべき対応 | 理由 |
|---|---|---|
| 社内の人が作った定型ファイル | 黄色いバーで有効化 | 出所がはっきりしている |
| 毎日使う業務用マクロ | 専用フォルダを信頼できる場所に登録 | 範囲を限定できる |
| 取引先から届いた見積書 | 送り主に確認してから | なりすましメールの可能性がある |
| ネットで拾ったテンプレート | 有効にしない | 中身を確認できない |
判断の基準は「誰が作ったか分かるか」の一点です。 分からないなら有効にしない。それだけで、 Excel を経由した被害のほとんどは防げます。
Googleスプレッドシートの場合
Googleスプレッドシートには Excel のマクロ(VBA)は無く、 Google Apps Script という別のしくみが使われます。.xlsm をスプレッドシートで開いてもマクロは動きません。表と数式だけが読み込まれます。