エラー処理(エラー処理後に戻す)

Resume Next・Resumeステートメントを使用すると、エラー処理後に処理を戻すことが出来ます

'エラー発生の次行に戻す
Resume Next
'エラー発生行に戻す
Resume

エラーが発生して、On Error GoToステートメントで処理を移動させていた状態から元のエラー発生した場所に戻すには「Resume Next」「Resume」ステートメントを使用します

戻す場所によって、コードを使い分けます

エラーが発生した行の次行に戻すにはResume Nextステートメントを使用します
エラーが発生した行に戻すにはResumeステートメントを使用します

動きの確認

エラー処理後に次の行から再実行する動き
Resume Next

エラーが発生した次の行に処理を戻すコードです

次の行に処理が戻るので、もともとエラーが発生した処理は実行されません
つまり、そのエラーが発生した処理が以降の処理に影響を与えない場合にのみ使用できます

当然、以降の処理にこのエラーが発生した処理を前提としていた場合バグが発生します

例えば、フォルダの新規作成や、存在しなかったファイルの削除など
エラーが発生すること自体は処理に影響を与えない場合に利用できます

On Error Resume Nextステートメントでもエラーが無視できますが、エラー処理が行えません
ユーザーにエラーが発生していることはメッセージで伝える必要がある場合はこちらのコードでエラー処理を作成してコードは次の行から再開させます

エラー処理後エラー発生行から実行する動き
Resume

このコードはエラーの発生した行に戻します

エラーが発生した行に処理を戻すことになるので、このエラー原因を解消するようにエラー処理を組まないと、無限ループに入ってしまいます

画像の動きを確認してください
A1セルからマイナス方向への移動ができないため、エラーが発生します

エラー処理では、移動値に数値を加算してから処理を発生行に戻しています

しかし加算値が「1」なので「-2」からは2回実行する必要があるので、2回エラーが発生して、最後にまた「0」になりA1セルが指定されて処理が正常動作に戻ります

このように、エラー処理で複数回繰り返してでもエラー原因を解消するような組み方が重要になります

ファイルの名前を付ける際に、重複しない連番をここで更新していくことで取得することが出来ます

なお、どちらのステートメントもエラー処理に使用するコードとなります
エラーが発生していない状態で実行されるとエラーが発生します

エラー発生後のエラー処理の最後に入れるようにします