今まで使えていたエクセルマクロが急に使えなくなった・・・・
そんなときは下記のポイントを確認すると良いです。
確認ポイント
- マクロが無効になっていないか?
- 拡張子が.xlsmになっているかどうか
- プログラムによる不具合
1つずつ、解説していきます。
エクセルマクロについては、下記にまとめた記事もあります!
【まとめ記事】エクセルマクロのすべて!マクロとは?から作り方まで
マクロが無効になっていないかどうか?
エクセルマクロが急に使えなくなったとき、まず考えられるのがマクロが無効になっていることです。
マクロというのは悪用することもできるため、セキュリティの観点から無効にすることができるようになっています。
マクロの有効・無効
マクロが有効:エクセルマクロを使うことができる状態
マクロが無効:エクセルマクロを使うことができない状態
となります。
マクロが無効になっている場合、下記のような表示が出ます。
「マクロが無効にされました」という表示
エクセルの上部に「マクロが無効にされました」という表示が出ている場合、文字通りマクロが無効になっています。
このような場合は、表示されている「コンテンツの有効化」をクリックすれば良いです。
クリックして、表示が消えればOKです。
「信頼済みドキュメントの設定が変更されました」の表示
エクセルの上部に「信頼済みドキュメントの設定が変更されました」と表示される場合もマクロが無効になっています。
このようなときは、「トラストセンター」をクリックしてマクロの設定を確認しましょう。
いくつか選択肢がありますが、例えば「VBAマクロを有効にする」を選択すれば無条件でマクロを実行することができるようになります。
※設定を変更したら一度エクセルを起動し直しが必要となります。
注意点としましては、マクロを有効にすると悪質なプログラムも実行できるようになってしまうので、ご自身の判断もしくは会社など組織であれば、システム管理者に相談してから設定を変更するようにしてください。
「セキュリティの設定により、マクロが無効にされました。」の表示
マクロを実行しようとして「セキュリティの設定により、マクロが無効にされました。」の表示が出現することがあります。
この場合も、マクロが無効になっています。
先ほど解説した、マクロの設定を変更できる「トラストセンター」は下記の手順で表示させることができますので、こちらからマクロの設定を確認してみてください。
トラストセンター表示方法
- 「ファイル」から「その他」の「オプション」をクリックする
- 「トラストセンター」→「トラストセンターの設定」をクリックする
- 「マクロの設定」をクリックする
1.「ファイル」から「その他」の「オプション」をクリックする
2.「トラストセンター」→「トラストセンターの設定」をクリックする
3.「マクロの設定」をクリックする
後は先ほどと同様に、マクロを有効にするかシステム管理者等と確認の上、設定を変更しましょう。
拡張子が.xlsmになっていない
そもそもマクロが記録できない、などというときはファイルの拡張子が.xlsmになっているか確認しましょう。
拡張子とは、「エクセルファイル」「ワードファイル」などファイルを識別するためファイル名の後につけられているものです。
通常使うエクセルファイルであれば.xlsxになっているかと思います。
拡張子が表示されていない方は、任意のフォルダを開いて下記の手順を実施してみてください。
- 任意のフォルダを開き、「オプション」をクリックする
2. 下から3つ目くらいの項目に「登録されている拡張子は表示しない」というチェックがあるので、このチェックを外します。
拡張子が表示されるようになります。
エクセルマクロを使う場合は、エクセルファイルの拡張子が.xlsxでなく.xlsmでなければならないので注意しましょう。
名前を付けて保存をするときに「ファイルの種類」で「Excel マクロ有効ブック(*.xlsm)」を選択することで拡張子を.xlsmにすることができます。
マクロが入ったエクセルファイルを.xlsxで保存しようとすると下記のような警告が出るので、そのような場合は.xlsmで保存すればOKです。
プログラムによる不具合
最後に、プログラムが原因でマクロをうまく実行することができない場合です。
この場合はエラー内容が多岐にわたるため全てを記載することはできませんが、いくつか例をご紹介しておきます。
コンパイル エラー
下記のように「コンパイル エラー」と表示されているときは、プログラムの中身が原因です。
インデックスが有効範囲にありません。
「インデックスが有効範囲にありません。」というエラー表示も、マクロは実行できているもののプログラムがうまく動いていない状態です。
マクロを実行するとかたまって動かない
マクロを実行したものの、いつまで経ってもかたまったまま動かない・・・そんなときもプログラムが原因の可能性が高いです。
処理が多すぎたり、永久に終わらないループ処理が記載されている場合にはかたまってしまいます。
そのようなときはパソコンのESCボタンを押せばマクロの実行を解除できる場合がありますので試してみて下さい。
焦らず原因を特定しよう
「マクロが使えない」という状況でも「マクロそのものが動いていない」のか「マクロは動いているけれどプログラムの中身がおかしいのか」
また、それぞれ原因によって対処方法が異なってきます。
慣れていないとエラーから素早く原因の特定をするのが難しい面はありますが、エラーが出てマクロが実行できない場合はこの記事を参考にしてトライしてみて下さい。