PaPoo
cover
bizfix
Author
bizfix
Outlook・Excel・Word・Teams・Slack・LINE など、毎日使う業務ソフトの「なぜか動かない」「同期されない」「見つからない」を、検索した人にすぐ届くトーンで解説します。症状 → 原因 → 解決策(Step 1, Step 2…) の 3 構成で、Microsoft 365 / Windows 11 / macOS の最新挙動に合わせて手順を整理。困った 1 人をピンポイントで救う、オフィスのPCお助け担当です。

Excelマクロが動かない・「実行できません」と出るときの原因と対処法10選【2026年最新版】

マクロが動かないとき、最初に見てほしいのはブックを開いたときに画面上部に出る帯(メッセージ バー)の色です。帯の種類で、原因がほぼ決まります。

画面上部の表示 原因 対処
赤い帯​「セキュリティ リスク」(マクロの実行をブロックしました) インターネット由来のファイルとして、マクロが既定でブロックされている 原因1・原因2
黄色い帯​「セキュリティの警告」と[コンテンツの有効化]ボタン マクロが無効の状態で開いている(通常の動作) 原因3
「保護されたビュー」と[編集を有効にする] 保護ビューで開いている 原因4
帯は出ないが、マクロの一覧が空・保存したら消えた ファイル形式 原因5
「コンパイル エラー」「実行時エラー」が出る コードの参照設定、32/64 ビット、参照先のずれ 原因6〜原因8
ボタンを押しても反応がない ボタンとマクロの結び付け、アドイン 原因9・原因10

原因1: インターネット由来のファイルで、マクロがブロックされている(赤い帯)

メールの添付ファイルやブラウザーでダウンロードしたファイルには、Windows が「インターネットから来た」という印(Mark of the Web、MOTW)を付けます。Microsoft は 2022年以降、Windows 版の Office で、この印が付いたファイルのマクロを既定でブロックするように変更しました。このとき表示されるのが赤い「セキュリティ リスク」の帯で、黄色い帯と違って[コンテンツの有効化]ボタンは出ません。

送り主が信頼できるファイルなら、次の手順で印を外せます。

  1. Excel でそのファイルを閉じる
  2. エクスプローラーでファイルを右クリック →[プロパティ]
  3. [全般]タブの下にある **[許可する]**​(英語表示では Unblock)にチェックを入れて OK
  4. ファイルを開き直す

複数のファイルをまとめて外す場合は、PowerShell の Unblock-File コマンドでも同じことができます。

Unblock-File -Path "C:\work\集計.xlsm"
Get-ChildItem "C:\work\*.xlsm" | Unblock-File

注意点が2つあります。

この変更は Windows 版の Office だけのもので、Mac 版、スマホ版、Web 版の Office には影響しません。

原因2: 毎日使うマクロなら「信頼できる場所」に置く

決まったフォルダーのマクロ ブックを毎日使う場合は、そのフォルダーを「信頼できる場所」に登録すると、インターネット由来の印のチェックを飛ばしてマクロが有効な状態で開けます。

  1. [ファイル]→[オプション]→[トラスト センター]→[トラスト センターの設定]
  2. [信頼できる場所]→[新しい場所の追加] でフォルダーを指定する

信頼できる場所に置いたファイルはマクロがブロックされないので、そのフォルダーに誰がファイルを保存できるかは慎重に管理してください。Microsoft はネットワーク上の場所を信頼できる場所にすることは推奨していません。

原因3: マクロが無効の状態で開いている(黄色い帯)

黄色い「セキュリティの警告」の帯が出ている場合は、通常の動作です。信頼できるファイルなら [コンテンツの有効化] を押せばマクロが動きます。

帯が出ずにマクロが動かない場合は、マクロの設定を確認します。

  1. [ファイル]→[オプション]→[トラスト センター]→[トラスト センターの設定]→[マクロの設定]
  2. 既定は「警告して、VBA マクロを無効にする」です。この設定なら、開いたときに黄色い帯が出ます
  3. 「警告せずに VBA マクロを無効にする」になっていると帯も出ずにマクロが止まるので、既定の設定に戻す

「VBA マクロを有効にする」(すべてのマクロを無条件に実行する)は、Microsoft も「推奨しません」としています。悪意のあるマクロも動いてしまうため、選ばないでください。会社の PC では、この画面の設定が管理者のポリシーで固定されていることがあります。

原因4: 保護されたビューで開いている

メールの添付ファイルなどを開くと、編集できない「保護されたビュー」で開くことがあります。この状態ではマクロは動きません。画面上部の [編集を有効にする] を押してから、改めてマクロを実行します。

原因5: ファイルを .xlsx で保存している

通常の Excel ブック(.xlsx)には、マクロを保存できません。マクロ付きのブックを .xlsx で保存すると、保存時に「VB プロジェクトはマクロなしのブックに保存できない」という趣旨の確認が出て、そのまま進めるとマクロは消えます。

  1. [ファイル]→[名前を付けて保存]
  2. [ファイルの種類]で [Excel マクロ有効ブック (*.xlsm)] を選んで保存する

すでに .xlsx で上書き保存してマクロが消えた場合、そのファイルからは戻せません。バックアップや、OneDrive・SharePoint のバージョン履歴から以前の版を探してください。

原因6: 参照設定が壊れている(コンパイル エラー)

「コンパイル エラー」「ユーザー定義型は定義されていません」と出る場合は、マクロが使っている外部ライブラリが見つからない可能性があります。別の PC で作られたマクロでよく起こります。

  1. Alt + F11 で VBA の編集画面(VBE)を開く
  2. [ツール]→[参照設定]
  3. 一覧の中に ​「参照不可:」​​(英語表示では MISSING:)と付いた項目があれば、チェックを外すか、その PC にある正しいライブラリに付け替える
  4. 保存して、Excel を再起動する

原因7: 64 ビット版の Excel で古いマクロが動かない

Microsoft 365 と Office 2019 以降は、既定で 64 ビット版がインストールされます。Windows の API を呼び出す古いマクロ(Declare 文を含むもの)は、64 ビット版では修正しないと動きません。修正しないまま実行すると、Declare 文に PtrSafe が必要だというエラーが出ます。

' 修正前(64 ビット版ではエラー)
Declare Function GetActiveWindow Lib "user32" () As Long
' 修正後
Declare PtrSafe Function GetActiveWindow Lib "user32" () As LongPtr

PtrSafe を付けるだけでは不十分で、中の型も直す必要があります。配布されたマクロなら、作成元に 64 ビット対応版がないか確認するのが早道です。

原因8: シート名やセル範囲が変わっている(実行時エラー)

「実行時エラー '9': インデックスが有効範囲にありません」は、マクロが指しているシート名やブック名が見つからないときに出ます。シート名を変えた、シートを削除した、ブック名が変わった、といった変更がないか確認し、コードの中の名前を今のブックに合わせます。

原因9: ボタンとマクロの結び付けが外れている

図形やボタンを押しても何も起きない場合は、ボタンに登録されているマクロが見つからなくなっている可能性があります。ブックをコピーしたり、マクロの名前を変えたりすると起こります。

  1. ボタンを右クリック →[マクロの登録]
  2. 正しいマクロを選び直して OK

原因10: アドインやセキュリティ ソフトが邪魔している

  1. Excel を閉じ、​Windows キー + R →excel /safe と入力して OK(セーフ モードで起動)
  2. セーフ モードでマクロが動くなら、アドインが原因。通常起動に戻して [ファイル]→[オプション]→[アドイン] の[管理]で[COM アドイン][Excel アドイン]を順に確認し、1つずつ無効にして原因を特定する

会社の PC では、セキュリティ ソフトや管理者のポリシーでマクロの実行そのものが制限されていることがあります。この場合、利用者の操作では解除できないので、情報システム担当に相談してください。

それでも直らないとき

出典

同じ著者の記事