Exit ステートメント

Do...Loop ループ、For...Next ループ、Function プロシージャまたは Sub プロシージャから抜け出すためのフロー制御ステートメントです。

Exit Do
Exit For
Exit Function
Exit Property
Exit Sub

各 Exit ステートメントは次のとおりです。

ステートメント 内容
Exit Do Do...Loop ループを抜け出し、Loop ステートメントの次のステートメントに制御を移します。Do...Loop ステートメントの中でのみ使用できます。Do...Loop ステートメントがネスト (入れ子) 構造になっている場合は、Exit Do のあるループの 1 つ外側のループに制御を移します。
Exit For For ループを抜け出します。For Each...Next ループまたは For...Next ループの中でのみ使用できます。For Each...Next ループまたは For...Next ループがネスト (入れ子) 構造になっている場合は、Exit For ステートメントが含まれているループの 1 つ外側のループに制御を移します。
Exit 関数 このステートメントのある Function プロシージャを直ちに抜け出ます。制御は Function プロシージャを呼び出したステートメントの次のステートメントに移ります。
Exit Property このステートメントのある Property プロシージャを直ちに抜け出ます。制御は Property プロシージャを呼び出したステートメントの次のステートメントに移ります。
Exit Sub ステートメント このステートメントのある Sub プロシージャを直ちに抜け出ます。制御は Sub プロシージャを呼び出したステートメントの次のステートメントに移ります。

次のコードは、Exit ステートメントの使用例です。

Sub RandomLoop
   Dim I, MyNum
   Do   ' 無限のループを設定します。
      For I = 1 To 1000   ' ループを 1000 回繰り返します。
         MyNum = Int(Rnd * 100)   ' ランダムな数字を生成します。
         Select Case MyNum   ' ランダムな数値を求めます。
            Case 17: MsgBox "Case 17"
               Exit For   ' 17 の場合、For...Next を抜け出ます。
            Case 29: MsgBox "Case 29"
               Exit Do   ' 29 の場合、Do...Loop を抜け出ます。
            Case 54: MsgBox "Case 54"
               Exit Sub   ' 54 の場合、Sub プロシージャを抜け出ます。
            End Select
      Next
   Loop
End Sub

必要条件

バージョン 1

参照

Do...Loop ステートメント | For Each...Next ステートメント | For...Next ステートメント | Function ステートメント | Sub ステートメント