エクセルのマクロが実行できない原因と対処法を徹底解説【初心者向け】

スポンサードリンク
VBA
  • マクロを実行したはずなんだけど、何も起こらなかった
  • よくわからないエラーが出て、マクロが実行できなかった

上記のようなお悩みをお持ちですか?
この記事を読むことで下記のことがわかります。

  • マクロが実行できない原因と対処法がわかる
  • マクロ作成時のコツを知れる

VBAマクロ歴3年の私が、できるだけわかりやすく解説いたします。

スポンサードリンク

エクセルのマクロが実行できない原因と対処法

マクロを実行できない原因として考えられるのは下記の3つです。

  • マクロが無効になっている
  • ファイル形式が違う
  • コードに問題がある

対処法も含めて1つ1つ解説いたします。

マクロが無効になっている

マクロが無効になっている表示

上図のような表示が出た場合は、マクロが無効化されています。
エクセルに下図のような警告が出ている場合は、「コンテンツの有効化」をクリックしてマクロを有効化してみてください。

コンテンツの有効化

警告表示が出ていない場合は、ファイルを再起動する(ファイルを一旦閉じて開き直す)か、セキュリティ設定を変更する必要があります。
設定を変更する方法は下記記事で詳しく解説しております。ご参考ください。

ファイル形式が違う

マクロを実行できるファイル形式は、「○○.xlsm」です。

マクロを含むファイルのファイル名を見てください。
「○○.xlsx」など、ファイル形式が「○○.xlsm」以外になっていませんか?

ファイル形式が「○○.xlsm」以外なら、ファイル形式を変更してみましょう。
ファイルを開き、「ファイル」メニューの「名前を付けて保存」をクリックして、形式が「○○.xlsm」になるように保存し直してください。

名前を付けて保存

保存できない場合は、保存先をデスクトップにするとうまくいく場合があります。
いったんデスクトップに保存してから、任意のフォルダに移動させましょう。

コードに問題がある

エラー画像1

上図のような「コンパイルエラー」や「実行時エラー」が発生した場合は、コードに問題がある可能性が高いです。
「”」が片方しかないなど、問題がある箇所を指摘してくれていますので、コードを確認してみてください。

エラーが出ない場合もあります。
何の反応もなくマクロが実行されないときも、ひとまずコードを再確認しましょう。
「”」の付け忘れなどで、該当箇所がスルーされてしまう場合があります。
下記記事にて簡単なマクロの作り方を紹介しておりますので、ご参考ください。

ボタンなどからマクロを実行させている場合は、ボタンとコードが紐づいていない可能性もあります。
「開発」→「Visual Basic」で「VBA project」画面に移行し、実行ボタンを押して結果を比較してみてください。

実行ボタン

ボタンの作成方法は、下記記事をご参考ください。

スポンサードリンク

マクロ作成時のコツ

私の経験上ですが、マクロ作成時のコツを紹介いたします。

テスト実行の重要性

マクロを新しく作った場合やコードを修正した場合は、必ずテスト実行を行ってください。
エラーや問題が起きた際、原因を特定しやすくするためです。

テスト実行でマクロが正常に動作しているのなら、その後起きた問題はコード以外に原因があると言えます。
めんどうだと思ってテスト実行を省略すると、その後さらに膨大な時間をロスすることになります。

信頼できる場所の追加

マクロの有効・無効を気にしたくないのであれば、「信頼できる場所」を追加するのも1つの手です。
「開発」→「マクロのセキュリティ」をクリックします。

信頼できる場所の追加1

「信頼できる場所」を選択し、「新しい場所の追加」をクリックします。

信頼できる場所の追加2

参照をクリックすると、フォルダを選択する画面に移行しますので、マクロが含まれるファイルが保存されているフォルダを選択します。

信頼できる場所の追加3

OKをクリックして完了です。

信頼できる場所の追加4

これでこのフォルダに保存されたファイルは、常時マクロが有効になります。
※必ず信頼できるファイルのみ保存するようにしてください。

追加した「信頼できる場所」を削除することもできますので、安心してください。

スポンサードリンク

最後に

マクロが実行できない原因と対処法を解説いたしました。

当ブログでは、VBAマクロやPythonなど、時間を生み出すプログラミング術を公開しております。
この記事がわかりやすいと感じた方は、他の記事も読んでいってください。

最後までお読みいただき、ありがとうございました。がんばってください!

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