Digital_Neko

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

Excel VBA エラーを無視する

今回は、ExcelVBAでエラーを無視する方法を取り上げます。エラーを無視するには、

On Error Resume Next

を用います。処理を止めたくない場合や、事前にあらかじめエラーとなる事がわかっている箇所がある場合などに利用します。


早速ですが、サンプルプログラムは図1のようになります。今回の例では、0で徐算しわざとエラーを出しています。ここでポイントとなるのは、エラー番号によって処理を行なっている点です。

図.1 エラーを無視する

図1のプログラムを実行すると、エラーの理由とエラー番号が表示されます。またエラーを無視して処理を続行する為、「処理が終了しました」とメッセージが表示されます。そして最後に

On Error GoTo 0

でエラーを無視する状態を解除する事を忘れずに行なってください。エラーを無視したままだと、プログラムに間違えがあっても処理が進んでしまいます。

On Error Resume Nextの良い点は、エラーを無視しつつも、エラー番号によって処理を分岐する事ができる事です。これを利用して、エラー原因をテキストファイルに出力したり、エクセルシートに出力することも可能です。

使い所を間違えなければ、とても有効な手段として利用でます。ぜひ使ってみてください。