Excel VBA入門 その71:実行時エラー 1004 マクロが無効の対処方法

エクセルVBA VBA



ようやく作成したマクロを実行したときに

「実行時エラー’1004’:マクロを実行できません。」、「このブックでマクロを使用できない」、「すべてのマクロが無効になっている可能性があります。」

などのエラー文が表示され、マクロが実行できないことに悩まされている人は少なくありません。

今回は、 「実行時エラー’1004’、マクロが無効、マクロを実行できません」などのエラーが発生したときの対処方法について徹底的に説明していきます。



実行時エラー 1004 マクロが無効の対処方法

実行時エラー 1004 「マクロが無効」の原因

エクセルでマクロを実行したときに、以下のような「マクロが無効」等のエラーメッセージが出るときがあります。

マクロを実行して発生するエラー

このエラーが発生したときに考えられる原因には、以下のものがあります。

  • 実行させようとしている「マクロのパス・名前」が間違っている
  • 実行させようとしている「マクロのパス・名前」の指定方法(記述方法)が間違っている
  • VBAコードそのものに誤りがある

「マクロのパス」「マクロの名前」のミスは、意外と多いエラー原因になっています。

特に、マクロを指定する際の記述方法を間違っていることが大半です。

したがって今回は、主に「マクロのパス」「マクロの名前」の記述方法について解説していきます。

実行時エラー 1004 「マクロが無効」の対処方法

マクロが無効のエラーの主な発生原因は、 「マクロのパス」「マクロの名前」 の記述ミスや、マクロの指定方法の記述方法が間違っていることが考えられます。

以下に説明していきます。

「マクロのパス・名前」の記述方法1.シングルコーテーション( ‘ )を使用する

VBAで特定のマクロを指定する際には、マクロが記述されている「ブックのパス」をシングルコーテーション( ‘ )で囲む必要があります。

例えば、ブック「VBA入門2.xlsm」 に入っているマクロ「macro2」を実行させたいときは、

C:\Users\Desktop\VBA入門2.xlsm!macro2″ 

のように、ブックのパスをシングルコーテーションで囲います。

特に、ブック名やフォルダ名にスペースなどの特殊文字が入っている場合は、シングルコーテーションで囲まないとエラーになってしまいますので注意してください。

サンプルコード:

Sub macro1()
    Application.Run "'C:\Users\Desktop\VBA入門\VBA入門2.xlsm'!macro2"
End Sub

「マクロのパス・名前」の記述方法2.パスをフルパス指定にする

次に多い間違いは、マクロが入ったブックへのパスをフルパス指定にしていないことです。

ブックへのパスをフルパス指定にしないと、 オブジェクトを適切に捉えることができなくなってしまいます。

例えば、ブック「VBA入門2.xlsm」 に入っているマクロ「macro2」を実行させたいときに、 “VBA入門2.xlsm!macro2″ のようにフルパスを指定していない場合、ブックの場所が特定できず、その結果、マクロ「macro2」を実行できず、エラーになってしまいます。

したがって、 “C:\Users\Desktop\VBA入門2.xlsm!macro2″  のようにファイルパスをフルパスで記述することが必要です。

サンプルコード:

Sub macro1()
    Application.Run "'C:\Users\Desktop\VBA入門\VBA入門2.xlsm'!macro2"
End Sub

【まとめ】実行時エラー 1004 マクロが無効の対処方法

マクロが実行できないエラー

「実行時エラー’1004’:マクロを実行できません。」、「このブックでマクロを使用できない」、「すべてのマクロが無効になっている可能性があります。」

のエラー原因は、以下のものが挙げられます。

  • 実行させようとしている「マクロのパス・名前」が間違っている
  • 実行させようとしている「マクロのパス・名前」の指定方法(記述方法)が間違っている
  • VBAコードそのものに誤りがある

エラー対処方法は、

  • マクロが記述されている「ブックのパス」をシングルコーテーション( ‘ )で囲む
  • マクロが入ったブックへのパスをフルパス指定にする

といったものが考えられます。

エクセルの処理にはVBAでしかできないものもあります。

もしマクロが実行できないエラーが発生したときは、今回の記事を活用していただければと思います。

参考:Excel VBA入門 その76:「エラー 1004 信頼性に欠けます」の対処方法

コメント

  1. […] 参考:Excel VBA入門 その71:実行時エラー 1004 マクロが無効の対処方法 […]

  2. […] 参考:Excel VBA入門 その71:実行時エラー 1004 マクロが無効の対処方法 […]

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