エラーを検知したときなど、プログラムの実行を直ちに終了させたい場合は End ステートメントを使用します。End ステートメントによって処理が終了する際、プログラムで使用していたメモリはすべて解放され、開かれていたファイルはすべて閉じられます。
次のサンプルマクロはエラーを強制的に発生させて、エラーNoとエラー内容を表示して処理を終了する例です。
Sub sample5_12()
On Error Resume Next 'エラーが発生しても処理を継続します。
Err.Raise 1001 'エラーを強制的に発生させます。
If Err.Number > 0 Then
MsgBox "エラーが発生しました。処理を終了します。" & vbLf & vbLf & _
"エラー№ :" & Err.Number & vbLf & _
"エラー内容:" & Err.Description, vbCritical
'ここで処理が終了するので、下の正常終了メッセージは表示されません。
End
End If
MsgBox "処理が正常に終了しました。", vbInformation
End Sub