【16】VBAの制御構文「Exitステートメント」について

記事で紹介しているエクセル
・エクセル2019 [64ビット版]

目次

制御構文「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」です。

これを実行させると以下のような動作になります。

画像1

本来はFor文とDo While文は、3回ずつループ処理をするはずです。

ところが、For文もWhile文も1回しか処理していません。

これはExit文で、それぞれFor文とWhile文を強制的にループ処理から抜けているからです。

同じように最後に「Exit Sub」があります。

これによりサンプル関数「Sub test15()」をここで抜けます。

したがって、その下に記述されている「MsgBox “終了しました。”」は実行されません。

Exit文は、ループ処理を抜けたり、あるいはIf文などで、そもそも前提条件に一致してなければ、その先のプログラムを実行しても意味がない時などに使います。

全然難しくないので、しっかり覚えておきましょう。

<補足情報>Exit文の種類

今回紹介したもの以外に、Exit文は以下のものがあります。

Exit文の種類内容
Exit DoDo…Loopを抜ける
Exit ForFor…Nextを抜ける
Exit FunctionFunctionプロシージャを抜ける
Exit PropertyPropertyプロシージャを抜ける
Exit SubSubプロシージャを抜ける
Exitステートメントの種類
あわせて読みたい
Exit ステートメント (VBA)
よかったらシェアしてね!
目次
閉じる