次の方法で共有


Exit ステートメント

Do...LoopFor...NextFunctionSub、または Property のコード ブロックの実行を終了します。

構文

Exit Do
Exit For
Exit Function
Exit Property
Exit Sub

Exit ステートメントの構文には、次の形式があります。

Statement 説明
Exit Do Do..を終了する方法を提供します。ステートメントLoopDo...Loop ステートメント内でのみ使用できます。 Exit Do を実行すると、 Loop ステートメントの後続の ステートメントに制御が移行します。 ネストされた Do...Loop ステートメント内で Exit Do を使用した場合は、Exit Do が実行されるループの 1 つ上のネスト レベルのループに制御が移行します。
Exit For For ループを終了します。 For..でのみ使用できます。Next または For Each...次のループ。 Exit For を実行すると、 Next ステートメントの後続のステートメントに制御が移行します。 ネストされた For ループ内で Exit For を使用した場合は、 Exit For が実行されるループの 1 つ上のネスト レベルのループに制御が移行します。
Exit Function 表示される Functionプロシージャ を直ちに終了します。 Function を呼び出したステートメントの後続のステートメントから実行が続行されます。
Exit Property 表示される Property プロシージャを直ちに終了します。 Property プロシージャを呼び出したステートメントの後続のステートメントから実行が続行されます。
Exit Sub 表示される Sub プロシージャを直ちに終了します。 Sub プロシージャを呼び出したステートメントの後続のステートメントから実行が続行されます。

解説

Exit ステートメントと End ステートメントを混同しないでください。 Exit は、構造の終端を定義するものではありません。

この例では、Exit ステートメントを使用して、For...Next ループ、Do...Loop、および Sub プロシージャの実行を終了しています。

Sub ExitStatementDemo() 
Dim I, MyNum 
 Do ' Set up infinite loop. 
 For I = 1 To 1000 ' Loop 1000 times. 
 MyNum = Int(Rnd * 1000) ' Generate random numbers. 
 Select Case MyNum ' Evaluate random number. 
 Case 7: Exit For ' If 7, exit For...Next. 
 Case 29: Exit Do ' If 29, exit Do...Loop. 
 Case 54: Exit Sub ' If 54, exit Sub procedure. 
 End Select 
 Next I 
 Loop 
End Sub

関連項目

サポートとフィードバック

Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。