目次
制御構文「Exitステートメント」について
今回解説する制御構文は「Exitステートメント」についてです。
制御構文は、まだ紹介したもの以外もありますが、入門編としてはとりあえず今回で一段落です。
Exit文は別に難しい事はありません。
処理を抜けるために必要な記述になります。
以下のサンプルコードは見てみましょう。
Sub test15()
Dim i As Integer
i = 1
For i = 1 To 3
MsgBox "<For>繰り返し処理:" & i & "回目"
'Exitステートメント
Exit For
Next
i = 1
Do While i <= 3
MsgBox "<Do While>繰り返し処理:" & i & "回目"
i = i + 1
'Exitステートメント
Exit Do
Loop
'Exitステートメント
Exit Sub
MsgBox "終了しました。"
End Subこのコードでは、For文とDo While文を使って、それぞれ3回ループ処理させるものです。
このコードの中には3箇所Exit文が入ってます。
For文の中にある「Exit For」、Do While文の中にある「Exit Do」、最後のほうにある「Exit Sub」です。
これを実行させると以下のような動作になります。

本来はFor文とDo While文は、3回ずつループ処理をするはずです。
ところが、For文もWhile文も1回しか処理していません。
これはExit文で、それぞれFor文とWhile文を強制的にループ処理から抜けているからです。
同じように最後に「Exit Sub」があります。
これによりサンプル関数「Sub test15()」をここで抜けます。
したがって、その下に記述されている「MsgBox “終了しました。”」は実行されません。
Exit文は、ループ処理を抜けたり、あるいはIf文などで、そもそも前提条件に一致してなければ、その先のプログラムを実行しても意味がない時などに使います。
全然難しくないので、しっかり覚えておきましょう。
<補足情報>Exit文の種類
今回紹介したもの以外に、Exit文は以下のものがあります。
| Exit文の種類 | 内容 |
|---|---|
| Exit Do | Do…Loopを抜ける |
| Exit For | For…Nextを抜ける |
| Exit Function | Functionプロシージャを抜ける |
| Exit Property | Propertyプロシージャを抜ける |
| Exit Sub | Subプロシージャを抜ける |

