Excelマクロのエラー対処法|種類の見分け方から強制終了まで

Excelのマクロを書いていてエラーが出ると、思わず焦ってしまうことがあります。しかし、エラーには種類があり、それぞれの原因と対処法を押さえておけば落ち着いて対応できます。この記事では、マクロで遭遇しやすいエラーの見分け方と、実際の直し方を順を追って解説します。

Excelマクロで発生するエラーの種類

マクロのエラーは大きく2種類に分けられます。コードの書き方自体が間違っているために起こるコンパイルエラーと、書き方は正しくても実行中に別の問題が生じる実行時エラーです。

どちらのエラーなのかを見極めることが、素早く解決するための第一歩です。

コンパイルエラーの原因と直し方

コンパイルエラーは、スペルの誤りやカッコ・コンマの入力漏れといった文法上のミスが原因です。VBEは記述の誤りをリアルタイムで検出し、問題のある箇所のテキストを赤く表示します。さらに、内容を説明するポップアップも自動で表示されます。

VBEでコードを入力している際にミスがあると、テキストカラーが変化して知らせてくれます。またポップアップによるエラーメッセージも併せて表示されます。

Range指定の閉じカッコ「)」を書き忘れたコンパイルエラーの例

誤りを修正すると、テキストの色は元の黒に戻り、コードが正常であることが確認できます。

実行時エラーの原因と直し方

実行時エラーは、コードの文法は正しいにもかかわらず、参照先のファイルが存在しないなど実行中の条件が満たされないことで発生するエラーです。マクロを動かしてはじめて発覚し、処理はその時点で止まります。

Rangeでのセル指定に不備がある場合の実行時エラーの例

ファイル名、シート名、セルの指定が正確かどうかを一つひとつ確認し、修正したうえで再度マクロを実行します。処理が最後まで通れば対処完了です。

エラーのポップアップ表示をオフにする方法

コンパイルエラーのポップアップが頻繁に出ると、作業のリズムが乱れます。ポップアップ通知そのものを無効にしたい場合は、VBEの設定から変更できます。

VBEのメニューから「ツール」→「オプション」と進んでください。

オプション画面が開いたら「編集」タブを選択し、「自動構文チェック」のチェックを外して「OK」をクリックします。これ以降はポップアップが表示されなくなります。

ポップアップを非表示にしても、エラー箇所はコードの色で確認できるため見落とす心配はありません。なお、非表示になるのはコンパイルエラーのポップアップだけで、実行時エラーのダイアログは引き続き表示されます。

マクロを強制終了する方法

エラーの種類によっては、処理が無限ループに入ってしまい、マクロがいつまでも終わらない状態になることがあります。そのような場合は強制終了でリセットしましょう。まず「ESC」キーを試してみてください。

「ESC」キーで止まらない場合は、タスクマネージャーを使います。「Ctrl+Shift+ESC」を同時押しするとタスクマネージャーが起動します。「プロセス」タブにExcelの項目が表示されるので、それを選択して「タスクの終了」をクリックすれば強制的に終了できます。

まとめ

Excelマクロのエラーには、文法上の問題が原因のコンパイルエラーと、実行中の条件によって発生する実行時エラーの2種類があります。どちらも落ち着いてエラーの内容を読み解けば、解決の糸口はすぐに見つかることが多いです。最初から書き直す前に、まず何が原因かを確認する習慣をつけると、マクロ作業の効率が大きく変わります。

このテーマの関連記事はこちら