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
必要条件
参照
Do...Loop ステートメント | For Each...Next ステートメント | For...Next ステートメント | Function ステートメント | Sub ステートメント