VBAプログラムエラーは、原因や発生するタイミングなどで様々な分類がありますが、ここでは、下記次のように分類します。

 

エラーの種類

 

  1. 構文エラー
  2. コンパイルエラー
  3. 実行時エラー

 

 

構文エラー


 構文エラーは、いわゆるただの打ち間違いです。

オブジェクト名やプロパティ名の綴りが違ったり、かっこやダブルクオーテーション("")の数が合わなかったり、スペース、カンマとコロンが抜けったり、そういった原因によるエラーです。

 

下の図のように、コード入れる途中に、文字が赤くなったり、教えてくれています。

割りと、その場で直せるもので、特に問題がないです。

 

 

コンパイルエラー

 コンパイルエラーは、VBAコードがコンパイルされるときに発生するエラーです。コンパイルとは、ソースコードの内容をコンピュータが理解しやすい形に変換することを言います。ここでは、主に論理的なエラーがチェックされます。

 

上の図は、変数の宣言を強制する設定をしたにもかかわらず、宣言をしなかったため出るエラーです。

 

上の図は、Ifブロックに対応するEnd If がないによるエラーです。

コンパイルエラーは、メッセージに従ってコードを修正すればいいです。

 

 

実行時エラー

 実行時エラーは、VBAコードが実行されるときに初めて出るエラーです。コードに文法的な問題がないが、論理的な間違いがあるため実行できないものが多いです。エラーが出たら、エラーの原因を突き止めて修正すればいいです。

実行時エラーが出たとき、割当られた固有なエラー番号やメッセージが提示されます。

 

 


上の図は、ワークシートが1枚しかないのに3枚目のワークシートの名前を取得しょうとして、「インデックスが有効範囲にありません」というエラーが出ました。

 

もし、上のエラーメッセージを見ても、エラー原因を特定できない場合、エラー番号やメッセージを使ってググってみることも一つの方法となります。

 

 

 

― ― ― ― ― ― ― ― ― ― → Excel VBA基礎入門もくじ へ戻る 

 

参考記事