Excelでマクロを実行しようとしたら「マクロが無効になっています」と表示されてしまった——そんな経験をお持ちの方は多いでしょう。
マクロはExcelの作業を自動化する便利な機能ですが、セキュリティ上のリスクもあるため、Excelはデフォルトでマクロを無効にしている場合があります。
「どうすれば有効にできるの?」「なぜ急に使えなくなったの?」という疑問にお答えするため、この記事ではExcelマクロが無効になる原因と、状況別の解決方法を詳しく解説します。
Excelのマクロとは?なぜ無効化されるのか
マクロとは、Excelの操作を自動化するプログラムのことです。
VBA(Visual Basic for Applications)というプログラミング言語で記述され、繰り返しの作業を一瞬で実行したり、複雑な処理を自動化したりできる強力な機能です。
業務の効率化に欠かせないツールとして、多くの職場で活用されています。
しかし、マクロはその強力さゆえにセキュリティリスクも伴います。
悪意のあるマクロを含むExcelファイルを開くと、ウイルスに感染したり、機密情報が盗まれたりする「マクロウイルス」の被害を受ける可能性があります。
このリスクを防ぐため、MicrosoftはExcelのデフォルト設定でマクロを無効にしており、ユーザーが意図的に許可しない限りマクロは実行されないようになっています。
マクロが無効になる主な原因
Excelでマクロが無効になっているケースには、いくつかのパターンがあります。
自分の状況がどれに当てはまるか確認することが解決への第一歩です。
原因①:Excelのセキュリティ設定でマクロが無効化されている
最も一般的な原因です。
ExcelのトラストセンターでマクロのデフォルトがOnになっています。
「警告を表示してすべてのマクロを無効にする」が選択されている場合、ファイルを開くたびに黄色いバーで警告が表示され、手動で有効にする必要があります。
原因②:インターネットからダウンロードしたファイルがブロックされている
2022年以降のMicrosoft 365・Excel 2019/2021では、インターネットからダウンロードしたマクロ付きExcelファイルは「保護されたビュー」でブロックされ、マクロが自動的に無効化されるようになりました。
ファイルのプロパティに「ブロック」フラグが付いているため、そのままでは有効化できません。
原因③:会社のグループポリシーでマクロが制限されている
企業環境では、IT部門がグループポリシーでマクロの実行を禁止・制限していることがあります。
この場合、ユーザー側の設定変更ではマクロを有効にできません。
IT部門への問い合わせが必要なケースです。
原因④:ファイルが「信頼できる場所」に保存されていない
Excelには「信頼できる場所(Trusted Locations)」という概念があり、指定したフォルダに保存されたファイルのマクロは警告なしに自動実行されます。
逆に、信頼できる場所以外に保存されたファイルは毎回警告が表示されます。
原因⑤:ファイルの拡張子が.xlsxになっている
マクロを含むExcelファイルは「.xlsm」形式で保存する必要があります。
「.xlsx」形式で保存するとマクロが削除されてしまうため、マクロが消えてしまったように見えることがあります。
解決方法①:メッセージバーの「コンテンツの有効化」をクリックする
最も手軽な方法です。
マクロ付きのExcelファイルを開くと、画面上部に黄色いメッセージバーが表示され「セキュリティの警告 マクロが無効にされました」と表示されます。
このバーの右側にある「コンテンツの有効化」ボタンをクリックするだけで、そのファイルに限りマクロが有効になります。
一度「コンテンツの有効化」をクリックしたファイルは「信頼済みドキュメント」として記憶されるため、次回以降は同じファイルを開いたときに自動的にマクロが有効になります。
ただしファイルを別の場所にコピーしたり、別のPCで開いた場合は再度承認が必要です。
解決方法②:ファイルのブロックを解除する(ダウンロードファイルの場合)
インターネットからダウンロードしたファイルがブロックされている場合、メッセージバーが表示されないか、表示されても有効化できないことがあります。
この場合はファイルのプロパティからブロックを解除する必要があります。
ブロック解除の手順
まずExcelファイルをいったん閉じます。
エクスプローラーで対象のファイルを右クリックし「プロパティ」を選択します。
プロパティ画面の「全般」タブの一番下に「このファイルは他のコンピューターから取得したものです。このコンピューターを保護するため、このファイルへのアクセスはブロックされる可能性があります。」という文章と「ブロックの解除」チェックボックスが表示されます。
チェックボックスにチェックを入れて「OK」をクリックします。
その後ファイルを開き直すと、マクロが通常通り使えるようになります。
この「ブロック」機能は2022年のMicrosoftのセキュリティ強化策として追加された機能であり、インターネット由来のファイルには自動的にブロックフラグが付きます。
信頼できるソースからのファイルであることを確認した上でブロックを解除しましょう。
解決方法③:トラストセンターのマクロ設定を変更する
毎回「コンテンツの有効化」をクリックするのが面倒な場合や、複数のファイルでマクロを常に使いたい場合は、ExcelのトラストセンターでマクロのデフォルトThumb設定を変更する方法があります。
トラストセンターの設定手順
Excelを開き「ファイル」→「オプション」をクリックします。
「Excelのオプション」ウィンドウが開いたら、左側のメニューから「トラストセンター」を選択します。
右側に表示される「トラストセンターの設定」ボタンをクリックします。
「トラストセンター」ウィンドウが開いたら、左側から「マクロの設定」をクリックします。
マクロの設定オプションと意味
「警告を表示せずにすべてのマクロを無効にする」:最も厳しい設定。マクロが自動的に無効になり警告も表示されません。
「警告を表示してすべてのマクロを無効にする」:デフォルト設定。黄色い警告バーが表示され手動で有効化できます。
「デジタル署名されたマクロを除き、すべてのマクロを無効にする」:信頼できる署名付きのマクロのみ実行できます。
「すべてのマクロを有効にする」:すべてのマクロが警告なしに実行されます。セキュリティリスクが高いため推奨しません。
通常の業務用途であれば「警告を表示してすべてのマクロを無効にする(デフォルト)」のままで運用し、信頼できるファイルだけ個別に「コンテンツの有効化」をする運用が最もバランスの取れた方法です。
解決方法④:信頼できる場所(フォルダ)を登録する
特定のフォルダに保存したExcelファイルは常にマクロを有効にしたい場合、そのフォルダを「信頼できる場所」として登録することができます。
登録したフォルダ内のファイルは警告なしでマクロが自動実行されるため、業務用マクロファイルの管理に便利です。
信頼できる場所の登録手順
「ファイル」→「オプション」→「トラストセンター」→「トラストセンターの設定」→「信頼できる場所」を選択します。
「新しい場所の追加」をクリックし、信頼するフォルダのパスを指定します。
「このフォルダーのサブフォルダーも信頼する」にチェックを入れると、サブフォルダも一括で信頼済みになります。
「OK」をクリックして設定を保存します。
ネットワークドライブやクラウドの同期フォルダをNetwork Pathとして追加するには、「このネットワークの場所を許可する」オプションを有効にする必要があります。
ただし、不特定多数がアクセスできる共有フォルダを信頼できる場所に追加することはセキュリティ上避けましょう。
解決方法⑤:ファイルを正しい拡張子(.xlsm)で保存し直す
「マクロを保存したはずなのに次に開いたらなくなっていた」という場合は、ファイルを「.xlsx」形式で保存してしまっている可能性があります。
マクロを含むファイルは必ず「.xlsm(Excel マクロ有効ブック)」形式で保存する必要があります。
正しい形式で保存する手順
「ファイル」→「名前を付けて保存」をクリックします。
「ファイルの種類」のドロップダウンメニューから「Excel マクロ有効ブック(*.xlsm)」を選択します。
ファイル名と保存場所を確認して「保存」をクリックします。
既存の.xlsxファイルにマクロを追加して保存しようとすると、「このブックにはVBAプロジェクト・・・が含まれており、マクロなしのブック形式では保存できません」という警告が表示されます。
この場合は「いいえ」を選択し、.xlsm形式で保存し直してください。
企業環境でマクロが使えない場合の対応
企業のPCでマクロが使えない場合、グループポリシーやシステム管理者の設定によって制限されていることがあります。
この場合はユーザー側でいくら設定を変更しても有効にならないことがあります。
グループポリシーによる制限の特徴
トラストセンターの設定がグレーアウトして変更できない場合、グループポリシーで設定がロックされています。
「マクロが無効になっています。ポリシーによって設定が管理されています。」などのメッセージが表示されることもあります。
対応策
IT部門・システム管理者に「特定のファイルのマクロを許可してほしい」と申請する方法があります。
デジタル署名付きのマクロファイルを使用することで、「デジタル署名されたマクロを除き無効にする」設定でも実行できる場合があります。
業務上どうしてもマクロが必要な場合は、上司やIT部門を通じて正式にポリシーの例外申請を行いましょう。
マクロを有効化する際のセキュリティ上の注意点
マクロを有効にする際は、セキュリティに注意することが不可欠です。
マクロウイルスは実在し、毎年多くの被害が報告されています。
不審なファイルのマクロは絶対に有効にしない
メールで送られてきた見知らぬ差出人からのExcelファイル、または信頼できないウェブサイトからダウンロードしたファイルのマクロは有効にしてはいけません。
「このファイルを開くにはマクロを有効にしてください」という内容の添付ファイルは、マクロウイルスの典型的な手口です。
「すべてのマクロを有効にする」設定は使わない
すべてのマクロを警告なしに実行する設定は、マクロウイルスの被害を受けるリスクが非常に高くなります。
どうしても常時有効化が必要な場合は、「信頼できる場所」の活用にとどめ、全体設定は変更しないようにしましょう。
マクロの内容を確認してから実行する
自分で作成したものでないマクロを有効にする前に、VBAエディター(Alt+F11)でコードの内容を確認する習慣をつけましょう。
理解できないコードが含まれている場合は、有効化を避けるのが安全です。
まとめ:マクロ無効の原因を把握して適切に対処しよう
Excelのマクロが無効になる原因は「セキュリティ設定」「ファイルのブロック」「グループポリシー」「ファイル形式の誤り」など複数あります。
まずは黄色いメッセージバーの「コンテンツの有効化」で解決するか試み、ダウンロードファイルであればプロパティからブロックを解除する方法を試してみましょう。
業務でマクロを頻繁に使う場合は「信頼できる場所」の登録が最もスマートな解決策です。
ただし、見知らぬファイルのマクロを安易に有効化することはセキュリティリスクにつながります。
「信頼できるファイルだけを有効にする」という原則を守りながら、Excelマクロを安全に活用してください。
