On Error Resume Next

 エラーが発生しても、そのエラーを無視して次の行の処理を継続するには、On Errorステートメントに「Resume Next」と付けて実行します。

 こうすると、エラー発生時にマクロが止まらないので、マクロの中でエラーへの対応を決められます。エラーの原因を探るのに役立つのがErrオブジェクトです。実行時エラーが発生すると、そのエラーに関する情報がErrオブジェクトに格納されます。するとNumberプロパティでエラー番号を、Descriptionプロパティでエラーメッセージを取得できます。

 次のサンプルは、10番目のシートを選択したときに、シートが存在しない場合のエラーに対応するコードです。シートがなければエラーが発生し、Errオブジェクトにはエラー番号が格納されます。そこで、Numberプロパティが0より大きい場合をIf文で判定して、Descriptionプロパティの内容を表示します。

[画像のクリックで拡大表示]