'エラー発生したときは移動させる On Error GoTo エラー発生 エラー発生:
エラー処理として、エラーが発生した際に特定の処理を実行する場面があります
その場合、エラーが発生した時点で実行するステートメント行を移動させることになります
その際に使用するのが「On Error GoTo」ステートメントです
On Error GoTo エラー発生
このステートメントに指定した文字列がラベル文字列となります
行指定も出来ますが、通常は例のように文字列で指定します
ここでは「エラー発生」の部分が当てはまります
このコード以降にエラーが発生した時点で、処理は停止せず指定した行に処理が移動されます
なお、ラベル文字列の設定はGotoステートメントと同じ設定の仕方になるので混同しないようにわかりやすい名前を付けましょう
Gotoメソッドと同じようにラベル文字列行の前には処理を終了させる「Exit Sub」を配置するようにしましょう
この設定を解除するには「On Error GoTo 0」ステートメントを使用します
解除しないと、以降の全ての処理でエラー処理が実行されますので、エラーの予期している範囲で使用するようにします
コードの動き
Err.Raise (1)
このコードはエラーを意図的に発生させるコードです
このコードが実行された時点で、エラーが発生しOn Error GoToステートメントにより処理が移動しています
通常、エラー処理は正常処理の後に作成します
そのままEnd Subまで走らせる形で処理を継続させます
エラーが発生せずに正常に処理が実行された場合の動きです
終了コードにより、End Subまで行かずに処理を終了させています
これが通常のエラー処理の組み込み方です
この画像のように、終了コードを入れ忘れていた場合、正常処理後にエラー処理が実行されてしまいます
Exit Sub エラー発生:
なので基本的には、以上のような形でコードを作成するようにしましょう