VBAプログラムエラーは、原因や発生するタイミングなどで様々な分類がありますが、ここでは、下記次のように分類します。
構文エラーは、いわゆるただの打ち間違いです。
オブジェクト名やプロパティ名の綴りが違ったり、かっこやダブルクオーテーション("")の数が合わなかったり、スペース、カンマとコロンが抜けったり、そういった原因によるエラーです。
下の図のように、コード入れる途中に、文字が赤くなったり、教えてくれています。
割りと、その場で直せるもので、特に問題がないです。
コンパイルエラーは、VBAコードがコンパイルされるときに発生するエラーです。コンパイルとは、ソースコードの内容をコンピュータが理解しやすい形に変換することを言います。ここでは、主に論理的なエラーがチェックされます。
上の図は、変数の宣言を強制する設定をしたにもかかわらず、宣言をしなかったため出るエラーです。
上の図は、Ifブロックに対応するEnd If がないによるエラーです。
コンパイルエラーは、メッセージに従ってコードを修正すればいいです。
実行時エラーは、VBAコードが実行されるときに初めて出るエラーです。コードに文法的な問題がないが、論理的な間違いがあるため実行できないものが多いです。エラーが出たら、エラーの原因を突き止めて修正すればいいです。
実行時エラーが出たとき、割当られた固有なエラー番号やメッセージが提示されます。
上の図は、ワークシートが1枚しかないのに3枚目のワークシートの名前を取得しょうとして、「インデックスが有効範囲にありません」というエラーが出ました。
もし、上のエラーメッセージを見ても、エラー原因を特定できない場合、エラー番号やメッセージを使ってググってみることも一つの方法となります。
― ― ― ― ― ― ― ― ― ― → Excel VBA基礎入門もくじ へ戻る
参考記事