エラー処理を制御する

サンプルソース

Sub Sample1()
 On Error Goto 0
 Dim i As Long
 i = "test" ' この行で処理が中断
End Sub

Sub Sample2()
 On Error Goto ErrorLabel
 Dim i As Long
 i = "test" ' この行で処理は中断せず、ErrorLabelに処理が移る
 Exit Sub

:ErrorLabel
 Msgbox "エラー発生"
End Sub

Sub Sample3()
 On Error Resume Next
 Dim i As Long
 i = "test" ' この行で処理が中断せず、次の行が実行される
 Msgbox "処理終了"
End Sub

解説

On Error Goto 0はエラー処理を無効にします。エラーが発生した行で処理を中断します。
On Error Goto ラベルはエラーが発生すると、指定したラベルに処理を移します。
On Error Resume Nextはエラーが発生しても無視して処理を続けます。

何も定義していない場合は、On Error Goto 0が有効になっています。

Sample1で、型不一致によるデータ例外などのエラー発生した行で処理が中断されます。
Sample2で、エラー発生すると指定したラベルに処理が移ります。ラベル(ここでいうErrorLabel)は任意の名前を設定できます。
Sample3で、エラーが発生しても次の行が続けて実行されます。





Excel操作




Excel VBA講座




アクセスランキング


セルの参照
セルの操作
シートの操作
ブックの操作
ウィンドウの操作
グラフの操作
印刷の操作
ファイル操作
Excel操作


Copyright (C) Excel@Workshop All rights reserved.