VBAでコーディングを行った際に発生するエラーの種類とエラー発生時の様子について エラーの種類は主に以下の3つに分けられる、それぞれの項で詳しく解説する 文法や構文の誤りによっておこるエラー 構文自体には問題がないが、処理を継続することが困難になった場合に発生するエラー コンパイルエラーでも実行時エラーでもないがプログラムが正しく動作しない エラー処理を行うステートメントを使用し、予めエラーが起きたときに備えた処理を記述しておく ・エラー処理:前もってエラーが起きた場合の処理をプログラムに組み込んでおくこと エラートラップを記述するステートメント 記述部より後~解除されるまでの間の部分については、発生したエラーを無視して処理を継続する 設置しておいたエラートラップを無効化する
エラーの種類
1:コンパイルエラー
2:実行時エラー
3:論理エラー
コンパイルエラー
コーディング中に発生した場合…
∟自動構文チェックにより誤った個所の行が赤くなる
実行時に発生した場合…
∟メッセージボックスが表示され、OKボタンを押すとプロシージャの実行が一時停止する実行時エラー
例えば…変数に定義したデータ型と格納した値のデータ型が異なる等の場合に発生
実行時エラーが発生した場合…
∟メッセージボックスが表示され、OKボタンを押すとプロシージャの実行が終了する論理エラー
実行時エラーが発生した場合…
∟なにも起きないので、デバッグを行うことが必要エラー処理ステートメント
用語
・エラートラップ:前もってエラーに対処しておくこと
・エラー処理ルーチン:行ラベルの後に記述した処理を指す
On Error Gotoステートメント
記述部より後の部分でエラーが発生した場合には、行ラベルの場所に移動し行ラベル以降に記述した処理を実行
On Error Resume Nextステートメント
解除するには、On Error Goto 0ステートメントまたは別のOn Error Gotoステートメントを記述
On Error Goto 0ステートメント
記事「エラー対処その2」にて、Resumeステートメントを使用した実際の記述例を紹介する