PR
アフィリエイト広告を利用しています
アフィリエイト広告を利用しています

【動かない人へ】エクセルのマクロが実行できない原因7つと直し方|有効化・ブロック解除・xlsm保存

エクセルのマクロが実行できない原因と直し方を解説する女性講師 EXCEL VBA講座
スポンサーリンク

「先輩から引き継いだマクロ入りのエクセル。自分のパソコンで開いたら、ボタンを押しても何も起きない」——その状態、あなたの操作ミスではありません。エクセルのマクロが実行できない原因は、ほとんどが次の3つのどれかです。①画面上部の黄色いバーで「コンテンツの有効化」を押していない、②赤いバーが出ていてエクセル側がマクロをブロックしている(→ファイルを右クリック→プロパティ→「許可する」にチェック)、③ファイルが .xlsx で保存されていてマクロが消えている(→.xlsm で保存し直す)。まずはこの記事の早見表で、あなたの画面に出ているのが「黄色」か「赤」かを見分けてください。早ければ3分ほどで動き出します。

ノートパソコンのエクセル画面を指さして、マクロが無効にされた警告バーの場所を説明する女性
スポンサーリンク
  1. エクセルのマクロが実行できないときは、まず「黄色いバー」か「赤いバー」かを見る(症状別 早見表)
  2. 原因1:黄色いバー「マクロが無効にされました」→[コンテンツの有効化]を押す
    1. 手順(3秒で終わります)
    2. つまずき対策
  3. 原因2:赤いバー「セキュリティ リスク」→ ファイルのブロックを解除する
    1. 手順:ファイルの「ブロックを解除」する
    2. つまずき対策
  4. 原因3:ファイルが .xlsx で保存されている →「マクロ有効ブック(.xlsm)」で保存し直す
    1. 拡張子を確認する手順
    2. マクロ有効ブックとして保存し直す手順
    3. つまずき対策
  5. 原因4:毎回の警告をなくす「信頼できる場所」にフォルダーを登録する
    1. 手順
    2. つまずき対策
  6. 原因5:[開発]タブが無い/マクロ一覧に何も表示されない
    1. [開発]タブを表示する手順
    2. マクロが一覧に出ないときの確認
    3. 動作テスト用の最小マクロ(コピペOK)
  7. 原因6:ボタンを押しても無反応(マクロの割り当てが切れている)
    1. 割り当てを確認・修正する手順
    2. つまずき対策
  8. 原因7:マクロの設定そのものが「すべて無効」になっている
    1. 確認・変更の手順
    2. つまずき対策
  9. それでも動かないときのチェックリスト
  10. よくある質問(Q&A)
    1. Q1. [コンテンツの有効化]を押しても大丈夫ですか?
    2. Q2. 一度有効にしたら、次からは毎回押さなくていい?
    3. Q3. 赤いバーが出るファイルを、毎回プロパティで解除するのが面倒です。
    4. Q4. Mac版のエクセルでも同じですか?
    5. Q5. 自分のExcelにその設定画面が無いのですが?
  11. 関連記事:エクセルの「思いどおりに動かない」を解決する
  12. まとめ:マクロが動かないのは、あなたのせいではありません
  13. 出典(一次情報)

エクセルのマクロが実行できないときは、まず「黄色いバー」か「赤いバー」かを見る(症状別 早見表)

エクセルは「危ないかもしれないマクロ」を勝手に動かさないようにできています。その止め方が2種類あることを知らないまま、ネットの記事どおりに操作して「書いてあるボタンが無い」と詰まる方がとても多いのです。

あなたの画面と照らし合わせて、進む先を決めましょう。

あなたの画面に出ているもの 意味 やること
黄色いバー「セキュリティの警告 マクロが無効にされました。」+[コンテンツの有効化]ボタン マクロは入っている。あなたの許可待ち 原因1:ボタンを1回押すだけ
赤いバー「セキュリティ リスク このファイルのソースが信頼できないため、Microsoft によりマクロの実行がブロックされました。」 インターネット経由で受け取ったファイルと判定されている 原因2:ファイルのプロパティで「許可する」
何のバーも出ない/マクロ一覧が空 そもそもファイルにマクロが保存されていない可能性 原因3:拡張子を確認して .xlsm で保存
毎回バーが出て面倒 ファイルの置き場所が信頼されていない 原因4:信頼できる場所に登録
[開発]タブが無い/マクロ一覧に何も出ない タブが非表示、または標準モジュール以外にコードがある 原因5:開発タブを表示する
ボタンを押しても無反応・エラーが出る ボタンとマクロの結び付きが切れている 原因6:マクロの登録をやり直す
バーすら出ずに黙って無効になる マクロの設定が「警告せずにすべて無効」 原因7:トラストセンターの設定を変更

💡 先に1つだけ大事なこと。マクロは便利な反面、ウイルスの運び屋にも使われます。有効にしていいのは「誰が作ったか分かっているファイル」だけです。心当たりのないメール添付ファイルは、動かさずに削除してください。この判断基準はマイクロソフトも同じ案内をしています(記事末に出典)。

原因1:黄色いバー「マクロが無効にされました」→[コンテンツの有効化]を押す

いちばん多いのがこれです。ファイルを開いた直後、数式バーのすぐ上に黄色い帯が出ていませんか。

手順(3秒で終わります)

  1. ファイルを開く。
  2. 画面上部の黄色いバーの中にある [コンテンツの有効化] をクリック。
  3. バーが消えたら、マクロのボタンをもう一度押す。

これで動けば完了です。しかも一度[コンテンツの有効化]を押したファイルは「信頼済みドキュメント」として記憶されるので、次回から警告は出ません

つまずき対策

「バーがいつの間にか消えていた」——数式バーの上の帯は、他のセルをクリックすると引っ込むことがあります。その場合はファイルをいったん閉じて開き直すと、また出てきます。

エクセルのマクロ設定を確認しながら作業する女性

原因2:赤いバー「セキュリティ リスク」→ ファイルのブロックを解除する

赤いバーに 「セキュリティ リスク このファイルのソースが信頼できないため、Microsoft によりマクロの実行がブロックされました。」 と出ている場合、[コンテンツの有効化]ボタンは存在しません。ここで多くの方が「押すボタンが無い!」と行き詰まります。

これは、そのファイルがインターネット経由で届いたとWindowsが記録しているためです。メール添付、ブラウザからのダウンロード、チャットツールからの保存などが該当します。悪意あるマクロの被害が多発したため、比較的新しいバージョンのOfficeではこの種のファイルのマクロを既定でブロックする仕様に変わりました。

手順:ファイルの「ブロックを解除」する

  1. エクセルを閉じる(開いたままだと反映されません)。
  2. エクスプローラーで、そのファイルが保存されているフォルダーを開く。
  3. ファイルを右クリック → [プロパティ]
  4. [全般]タブの一番下、「セキュリティ」の欄にある [許可する](または[ブロックの解除]) にチェックを入れる。
  5. [OK] → ファイルを開き直す。

これでマクロが動くようになります(会社のポリシーで別途禁止されている場合を除く)。

つまずき対策

「[許可する]のチェックボックスが見当たらない」——共有フォルダーやネットワークドライブ上のファイルでは、この欄が表示されないことがあります。その場合はファイルを自分のPCのデスクトップやドキュメントにコピーしてから同じ操作をしてください。それでも出ないときは、後述の原因4(信頼できる場所)で対応します。

「メールに添付されたまま開いている」——添付ファイルをダブルクリックして直接開くと、一時フォルダーで動くためプロパティを触れません。いったんデスクトップに保存してから操作しましょう。

原因3:ファイルが .xlsx で保存されている →「マクロ有効ブック(.xlsm)」で保存し直す

意外な落とし穴がこれです。.xlsx という形式のファイルには、マクロを保存できません。マクロを書いたあと、いつもの癖で[上書き保存]した際に「次の機能はマクロなしのブックに保存できません」という警告を[はい]で流してしまうと、マクロだけがきれいに消えます

拡張子を確認する手順

  1. エクスプローラーを開く。
  2. 上部の [表示]タブ → [表示] → [ファイル名拡張子] にチェックを入れる。
  3. ファイル名の末尾を確認。.xlsx ならマクロは保存されていません。

マクロ有効ブックとして保存し直す手順

  1. エクセルで [ファイル]→[名前を付けて保存]
  2. 保存先を選び、ファイルの種類のプルダウンから 「Excel マクロ有効ブック (*.xlsm)」 を選ぶ。
  3. [保存]

つまずき対策

「.xlsm で保存し直したのにマクロが無い」——残念ながら、一度 .xlsx で保存した時点でコードは失われています。元ファイルの作成者にもう一度もらうか、後述のコードを自分で書き直す必要があります。マクロを触る前にファイルをコピーしてバックアップする習慣をつけると、この事故は起きません。

原因4:毎回の警告をなくす「信頼できる場所」にフォルダーを登録する

「毎日使うマクロなのに、開くたびに警告が出る」なら、そのファイルを置くフォルダーごと信頼できる場所として登録してしまうのが早道です。登録したフォルダー内のファイルは、警告なしでマクロが動きます。

手順

  1. エクセルで [ファイル]→[オプション]
  2. 左側の [トラスト センター] →右の [トラスト センターの設定] をクリック。
  3. 左側の [信頼できる場所] を選ぶ。
  4. [新しい場所の追加] →[参照]でフォルダーを選択 →[OK]。
  5. 必要なら「この場所のサブフォルダーも信頼する」にチェック →[OK]→[OK]。

つまずき対策

危険性も一緒に理解しておいてください。信頼できる場所に入ったファイルは問答無用でマクロが動きます。ダウンロードフォルダーやデスクトップ全体を登録するのは避け、「自分が作ったマクロ専用フォルダー」を1つ作って、そこだけ登録するのが安全な使い方です。会社のPCでは、勝手に設定を変える前に情報システム部門に一声かけましょう。

原因5:[開発]タブが無い/マクロ一覧に何も表示されない

マクロを実行・編集するための入口が[開発]タブですが、初期状態では非表示です。「記事に[開発]タブと書いてあるのに自分の画面に無い」というのは、故障ではありません。

[開発]タブを表示する手順

  1. [ファイル]→[オプション]
  2. 左側の [リボンのユーザー設定] をクリック。
  3. 右側のリストにある [開発] にチェックを入れる。
  4. [OK]。リボンに[開発]タブが現れます。

マクロが一覧に出ないときの確認

[表示]タブ →[マクロ]グループ →[マクロの表示](ショートカットは Alt + F8)でマクロ一覧を開きます。ここが空っぽの場合、次を疑ってください。

  • マクロの保存先が「作業中のブック」以外になっている → 一覧の下にある「マクロの保存先」を「開いているすべてのブック」に切り替える。
  • コードがシートモジュールやThisWorkbookに書かれている → シートやブックのイベント用モジュールに置いた Sub は、マクロ一覧に出てきません。標準モジュールへ移すと出ます。
  • Private Sub になっているPrivate が付いたマクロは一覧に出ません。Sub に書き換えてください。

動作テスト用の最小マクロ(コピペOK)

「そもそも自分のエクセルでマクロが動くのか」を確かめる、いちばん短いコードです。[開発]タブ →[コード]グループ →[Visual Basic]を開き、[挿入]→[標準モジュール]に、そのまま貼り付けてください。

Sub マクロ動作テスト()
    MsgBox "マクロは正常に動いています!", vbInformation, "動作確認"
End Sub

貼り付けたら Alt + F8 →「マクロ動作テスト」を選んで[実行]。メッセージが出れば、あなたのエクセルの環境そのものは正常です。つまり問題は「環境」ではなく「そのファイル側」にある、と切り分けができます。

選択したセルに文字を入れる、もう一段実務寄りの最小例も置いておきます。

Sub 選択セルに今日の日付を入れる()
    Selection.Value = Date
    Selection.NumberFormatLocal = "yyyy/mm/dd"
End Sub

原因6:ボタンを押しても無反応(マクロの割り当てが切れている)

シート上の四角い図形やボタンを押しても何も起きない場合、ボタンとマクロを結ぶ線が切れている可能性があります。ファイルを別のブックにコピーしたり、マクロ名を変更したりすると起こります。

割り当てを確認・修正する手順

  1. ボタン(図形)を右クリック
  2. [マクロの登録] をクリック。
  3. 「マクロ名」の欄が空、または存在しないマクロ名になっていないか確認。
  4. 一覧から正しいマクロを選び、[OK]

右クリックしてもメニューが出ない場合は、ボタンの外側を1回クリックしてから、ボタンを右クリックし直してみてください。

つまずき対策

「マクロ名にブック名が付いている」——別ファイルを参照したままになっていることがあります。この場合は登録し直せば直ります。

「押すとエラー画面(デバッグ)が出る」——これはマクロ自体は動いていて、途中で止まっている状態です。黄色くハイライトされた行が原因箇所です。実行時エラー1004 ならシート名やセル範囲の指定が実際と食い違っているケースが大半なので、コード内のシート名と、実際のシート見出しの名前が1文字違わず一致しているかを確認してください。

原因7:マクロの設定そのものが「すべて無効」になっている

警告バーすら出ずに、静かにマクロが無効化されているなら、設定が「警告せずにすべて無効にする」になっている可能性があります。

確認・変更の手順

  1. [ファイル]→[オプション]→[トラスト センター]→[トラスト センターの設定]
  2. 左側の [マクロの設定] をクリック。
  3. 4つの選択肢のうち、「通知を表示して VBA マクロを無効にする」(バージョンにより「警告を表示してすべてのマクロを無効にする」と表示されます)を選ぶ。これが標準で、おすすめの設定です。
  4. [OK] → エクセルを再起動。

⚠️ 「すべてのマクロを有効にする」は選ばないでください。この設定にすると、開いたファイルのマクロが確認なしに全部動きます。ウイルス感染の入口になり得るため、マイクロソフトも推奨していません。ひと手間かかっても「警告して無効にする」+必要なときだけ有効化、が正解です。

つまずき対策

「設定がグレーアウトして変えられない」——会社のPCでは、管理者がグループポリシーで固定している場合があります。この状態は個人では解除できません。情報システム部門に「業務で使うマクロファイルを動かしたい」と相談するのが最短ルートです。

それでも動かないときのチェックリスト

多くのケースはここまでで解決しますが、それでも動かないときのために確認項目をまとめます。上から順に試してください。

  1. 保護ビューになっていないか。「保護ビュー 注意——インターネットから入手したファイルは…」という黄色いバーが出ていたら、まず [編集を有効にする] を押します。保護ビュー中はマクロは動きません。
  2. 読み取り専用で開いていないか。タイトルバーに[読み取り専用]と出ていたら、保存を伴うマクロはエラーになります。閉じて開き直しましょう。
  3. ファイルが破損していないか。[ファイル]→[開く]→[参照]でファイルを1回クリックして選び、[開く]ボタンの右にある▼から [開いて修復する] を試します。
  4. 別のPCで開いてみる。他のPCで動くなら原因は「あなたのExcelの設定」、どのPCでも動かないなら原因は「ファイル側」。これだけで調査範囲が半分になります。
  5. Excelをセーフモードで起動してみる。Windowsキー + R →「ファイル名を指定して実行」に excel /safe と入力して[OK]。これで動くなら、アドインが干渉しています。
  6. 個人用マクロブックの中にないか。自分で記録したマクロが PERSONAL.XLSB に入っていると、そのPCでしか使えません。他の人に渡すときは、標準モジュールを対象のブックへコピーする必要があります。

よくある質問(Q&A)

Q1. [コンテンツの有効化]を押しても大丈夫ですか?

A. ファイルの出どころが分かっている場合だけです。社内の同僚や自分が作ったファイルなら問題ありません。逆に、身に覚えのないメールの添付ファイルや、「請求書の確認のためマクロを有効にしてください」と促してくるファイルは、開かずに削除してください。マイクロソフトも「まっとうな会社が、注文キャンセルのためにマクロの有効化を求めることはない」と注意喚起しています。

Q2. 一度有効にしたら、次からは毎回押さなくていい?

A. はい。[コンテンツの有効化]を押したファイルは「信頼済みドキュメント」として記録され、次回以降は警告が出なくなります。ただしファイル名を変えたり、別のフォルダーに移動したりすると、また出ることがあります。

Q3. 赤いバーが出るファイルを、毎回プロパティで解除するのが面倒です。

A. そのファイルを置くフォルダーを信頼できる場所に登録すれば、以後は警告なしで動きます。ただし、そのフォルダーには自分が中身を把握しているファイルだけを置いてください。

Q4. Mac版のエクセルでも同じですか?

A. いいえ。「インターネット由来のファイルのマクロを既定でブロックする」という仕様はWindows版のOfficeが対象で、Mac版・iPad版・ブラウザ版のExcelには適用されません。Macでマクロが動かない場合は、[Excel]→[環境設定]→[セキュリティとプライバシー]からマクロの設定を確認してください。

Q5. 自分のExcelにその設定画面が無いのですが?

A. Officeはバージョンや更新プログラムの配信タイミングによって、画面の文言やボタン名が少しずつ違います。「トラスト センター」が「セキュリティ センター」と表示される場合や、赤いバーの仕様がまだ適用されていない場合もあります。近い名前の項目を探してみてください。それでも見つからないときは、原因1・原因3・原因5だけでもほとんどのケースは解決します。

関連記事:エクセルの「思いどおりに動かない」を解決する

マクロが動くようになったら、次はその中身のデータを整えていきましょう。数字が文字列になっているシートにマクロをかけると、集計結果がずれる原因になります。

【コピペで解決】エクセルで数値が「文字列」になって合計できない!直し方まとめ
数字を入れたのに合計できないのは「文字列」化が原因。緑の三角マークや区切り位置での一括変換、VALUE関数など、コピペで使える直し方を初心者にもやさしく解説します。

セルが結合されていると、マクロの並べ替えやフィルター処理はほぼ確実に止まります。マクロを組む前に、表の構造を直しておくのが近道です。

【もう固まらない】エクセルのセル結合で並べ替え・フィルターができない原因と直し方7手順
エクセルで「結合されたセルには同じ操作を実行できません」と出て並べ替え・フィルター・コピーができない原因は「セルの結合」です。Ctrl+Aで一括解除する方法、結合セルの探し方、見た目を保つ「選択範囲内で中央」、解除後の空白を埋める手順まで7ステップで解説します。

マクロで自動化したい定番作業といえば「集計」。合計が合わない原因を先につぶしておくと、自動化の効果が何倍にもなります。

【コピペ確認付き】エクセルの合計が合わない・ずれる原因と直し方7選(SUM/行挿入/縦の足し算)
エクセルの合計が合わない・ずれる原因は「型」と「範囲」から疑うのが最短。ISNUMBERやCOUNTでの確認方法つきで、7つの原因と直し方をやさしく解説します。

作った表を印刷する場面でつまずいたら、こちらもどうぞ。

【1枚に収める】エクセルの印刷がはみ出す・ずれる・切れるを直す7つの設定
結論は〈ページレイアウト〉→〈拡大縮小印刷〉→「横:1ページ」。エクセルの表が印刷ではみ出す・ずれる・切れるを直す7つの設定を、タブとボタンの場所つきで解説します。改ページプレビュー、印刷範囲、余白、A4横、印刷タイトルまで。症状別の早見表つきで、もう用紙を無駄にしません。

「マクロは難しそう」という方は、まず数式で自動化の感覚をつかむのがおすすめです。

【コピペOK】エクセルで行挿入しても合計がずれない5つの方法|SUM範囲を自動で広げる設定
「行を追加したのに合計が増えない」を今日で終わりに。結論はテーブル化(Ctrl+T)です。テーブルが使えない場合の範囲指定・列全体・SUBTOTAL・OFFSETまで、コピペできる数式つきで5つの方法を解説します。

まとめ:マクロが動かないのは、あなたのせいではありません

今日の要点を、もう一度短くまとめます。

  • 黄色いバーなら[コンテンツの有効化]を1回押すだけ。
  • 赤いバーなら、エクセルを閉じてファイルを右クリック→プロパティ→[許可する]。
  • バーが出ない・マクロが無いなら、拡張子を確認して .xlsm で保存し直す。
  • 毎回の警告が面倒なら信頼できる場所に登録。ただし自分が把握しているファイルだけ。
  • [開発]タブは[ファイル]→[オプション]→[リボンのユーザー設定]から表示。
  • ボタンが無反応なら右クリック→[マクロの登録]をやり直す。
  • どうしても切り分けられないときは、最小マクロを1つ動かして「環境か、ファイルか」を判定する。

マクロが動かなかったのは、あなたの理解が足りなかったからではありません。マイクロソフトが「利用者を守るために、あえて止めている」だけです。仕組みさえ分かれば、対処は右クリック1回とチェックボックス1つ。今日それを知ったあなたは、明日から職場で「マクロが動かないんだけど」と聞かれる側に回れます。

40代からのリスキリングは、ゼロから難しいことを覚えることではありません。目の前で困っている人を、3分で助けられる知識を1つずつ増やしていくことです。その1つ目が、今日手に入りました。次はぜひ、上の関連記事から気になるものを1本、開いてみてください。

出典(一次情報)

※ Officeはバージョン・更新チャネルによってメニュー名や動作が異なる場合があります。お使いの環境の表示に合わせて読み替えてください。

コメント

タイトルとURLをコピーしました