Digital_Neko

フリーランスプログラマー

Excel VBA 処理毎のエラー検出

今回は、On Error GoTo ステートメントを利用したエラー処理について書いていきたいと思います。

On Error GoTo ステートメントと、On Error GoTo 0 ステートメントを利用することで、処理事にエラーのトラップを分ける事が可能になります。サンプルプログラムは図1になります。今回は、ブックに「Sheet1」のみがあることを想定しています。

図1.エラーのトラップ

図1はHandleErr1とHandleErr2でエラーを分岐するようにしています。またOn Error GoTo 0ステートメントでエラーのトラップを一旦無効化する事によって、0で除算した時のエラーと、Sheet2がない場合のエラーを検出できるようにしています。

HandleErr1の中の「Resume Next」の記述によってエラーの発生した次の処理に進む事を指示しています。

今回のプログラムを実行すると、エラーが2箇所検出され、メッセージが表示されます。

今回のようにエラーのトラップの有効、無効を切り替えることによってエラー検出の箇所を指定できます。その為エラー原因の把握がしやすくなります。

エラー処理に関して、今回の記事が参考になれば幸いです。