Exit ステートメント

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

Exit Do
Exit For
Exit Function
Exit Property
Exit Sub
各 Exit ステートメントは次のとおりです。
ステートメント内容
Exit DoDo...Loop ループを抜け出し、Loop ステートメントの次のステートメントに制御を移します。Do...Loop ステートメントの中でのみ使用できます。Do...Loop ステートメントがネスト (入れ子) 構造になっている場合は、Exit Do のあるループの 1 つ外側のループに制御を移します。
Exit ForFor ループを抜け出します。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

コメント