エラー処理をしていないVBAコード
0の割り算でエラーを発生させています。
Sub MyError1()
Dim n1 As Long
Dim n2 As Long
n1 = 200
n2 = 0
Range("A1") = n1 / n2
End Sub
On Error Goto
On Error Gotoステートメントで、エラーが発生した場合別の処理にジャンプします。
Err.Numberで、エラー番号を取得できます。
Err.Descriptionで、エラー内容を取得できます。
Sub MyError2()
Dim n1 As Long
Dim n2 As Long
On Error GoTo ErrSub
n1 = 200
n2 = 0
Range("A1") = n1 / n2
Exit Sub
ErrSub:
MsgBox "エラーが発生しました" & vbCrLf & Err.Number & " : " & Err.Description
End Sub
On Error Resume
On Error Resume Nextステートメントで、エラーを無視して処理を続ける。
Sub MyError3()
Dim n1 As Long
Dim n2 As Long
On Error Resume Next
n1 = 200
n2 = 0
Range("A1") = n1 / n2
End Sub
On Error GoTo 0
On Error GoTo 0ステートメントで、エラー処理を解除する。
Sub MyError4()
Dim n1 As Long
Dim n2 As Long
On Error Resume Next
n1 = 200
n2 = 0
Range("A1") = n1 / n2
MsgBox "エラーを回避しました"
On Error GoTo 0
Range("A1") = n1 / n2
MsgBox "エラーが発生しました" & vbCrLf & Err.Number & " : " & Err.Description
End Sub