On Error GoToステートメントはエラーが生じる可能性のある処理がある場合に用いられます。
このステートメントを使えば、エラーを回避し、加えてエラー時に実行したい処理を設けることができます。
そんなOn Error GoToステートメントについて簡単に解説していきます。
ちなみにエラー部分を無視して、以降の処理を正常に実行する『On Error Resume Next』も覚えておきましょう。
On Error GoToステートメントの使い方
On Error GoToステートメントは、エラーでなければ「On Error GoTo ラベル名」以降の処理が実行されます。
ですが、エラーがあった場合には、「ラベル名:」以降の処理が実行されるようになっています。
On Error GoToステートメントの参考コード
次にOn Error GoToステートメントの具体的な使い方になります。
ここで使うエラーが生じるコード(存在しないシート参照)
例えば、下のように「存在しないシートを参照しようとしたときのコード」で試してみます。
1 2 3 4 5 |
Sub sample1() MsgBox Sheets("存在しないSheet").Range("A1") End Sub |
上のコードを実行すると、存在しないシートを参照しようとして下のようなエラーが生じます。
On Error GoToを使ったエラー対策
上のコードに対して、On Error GoToを使って「エラーを回避し、エラー時の処理を設ける」ようにしてみます。
下は「エラーが生じたら、メッセージボックスで”シートが見つかりませんでした”と表示する」という内容にしています。
1 2 3 4 5 6 7 8 9 10 11 12 |
Sub sample2() On Error GoTo myError MsgBox Worksheets("存在しないSheet").Range("A1") Exit Sub myError: MsgBox "シートが見つかりませんでした" End Sub |
3行目と7行目の間にエラーが生じる記述をしています。
なので、このコードを実行すると8行目以降に記述された処理が行われるので、10行目の「MsgBox “シートが見つかりませんでした”」が処理内容になります。
ですので、下のような結果が得られます。
注意上のコードの6行目には「Exit Sub」という記述があります。
この記述がない場合、エラー時の処理まで行ってしまうので注意です。
1位 | 2位 | 3位 |
---|---|---|
Excel VBA 脱初心者のための集中講座 | パーフェクトExcel VBA | ExcelVBA 実戦のための技術 |
初心者~中級者 | 中級者 | 初心者~中級者 |
【初心者が手に取るべき参考書】 ・「書籍+動画」で圧倒的に理解しやすい入門書になっている。 ・丁寧で詳しい解説でボリューム感がある。 | 【より深い理解をしたい方にお勧めな参考書】 ・テーマに対して丁寧な解説・適度な深さで解説されている。 ・幅広くテーマを扱っていることから、基礎知識をあらかた網羅できる。 | 【入門書と一緒に買うべき参考書】 ・1つ1つのテーマを経験豊富なエンジニア視点で解説してくれている。 ・実践的で効果的なコードの書き方が理解できる。 |
【読んでみた一言】 正直、入門書はコレ一冊でいいかも。あとは中級者用の参考書に進むべし。 | 【読んでみた一言】 深く書かれているが、少々専門的に書かれていることから、読む前に数冊の入門書を読破したほうが良い。 | 【読んでみた一言】 基礎知識を持っている人が次のレベルに達するきっかけを与えてくれる参考書である。 |
スポンサーリンク