On Errorステートメント
On Error Resume Next
エラーが発生しても、そのエラーを無視して次の行の処理を継続するには、On Errorステートメントに「Resume Next」と付けて実行します。
こうすると、エラー発生時にマクロが止まらないので、マクロの中でエラーへの対応を決められます。エラーの原因を探るのに役立つのがErrオブジェクトです。実行時エラーが発生すると、そのエラーに関する情報がErrオブジェクトに格納されます。するとNumberプロパティでエラー番号を、Descriptionプロパティでエラーメッセージを取得できます。
次のサンプルは、10番目のシートを選択したときに、シートが存在しない場合のエラーに対応するコードです。シートがなければエラーが発生し、Errオブジェクトにはエラー番号が格納されます。そこで、Numberプロパティが0より大きい場合をIf文で判定して、Descriptionプロパティの内容を表示します。
エラー時にマクロを停止せず、その原因を表示する
Sub Sample()
On Error Resume Next
Sheets(124).Select
If Err.Number > 0 Then
MsgBox Err.Description
Else
MsgBox ActiveSheet.Name
End If
End Sub
実行結果
IT開発関連書とビジネス書が豊富な翔泳社の通販『SEshop』

dポイントがどんどんたまる【d払いポイントGETモール】

業界最安値宣言!高性能・低価格のパソコン通販は【UsedFun】

リラクゼーションをお得に体験!ご予約はEPARKで!

【じゃらん】国内25,000軒の宿をネットで予約OK!2%ポイント還元!

【早い者勝ち!】.com/.net/.jp ドメイン取るならお名前.com
