Excel VBA 入門講座

第6章 5.With~End Withステートメント Excel VBA 入門講座 第6章 7.GoToステートメント
ExitステートメントExitステートメント

実行中の処理を途中で抜ける場合Exitステートメントを使用します。


Exit Do

Exit For

Exit Function

Exit Property

Exit Sub

Do~Loopステートメントを処理途中で抜け次のステートメントに制御を移します。以下の例では変数iの値が10になったときにDo~Loopを抜けます。


Sub ExitDo()
    Dim i As Integer
    i = 1
    Worksheets("Sheet8").Activate
        
    Do
        Worksheets("Sheet8").Cells(i, 1) = i
        i = i + 1
        If i = 10 Then
            Exit Do
        End If
    Loop

End Sub

For~Nextステートメントを処理途中で抜け次のステートメントに制御を移します。


Sub ExitFor()
    Dim i As Integer
    
    Worksheets("Sheet8").Activate
        
    For i = 1 To 100
        Worksheets("Sheet8").Cells(i, 1) = i
        
        If i = 10 Then
            Exit For
        End If
    Next

End Sub

Subプロシージャを処理途中で抜け、制御はSub プロシージャを呼び出した次のステートメントに制御を移します。


Private Sub Test()

    Call ExitSub

    MsgBox ("Exit Subのテスト3")

End Sub

Sub ExitSub()

    MsgBox ("Exit Subのテスト1")

    Exit Sub
    
    MsgBox ("Exit Subのテスト2")'このステートメントは実行されない
    
End Sub

Functionプロシージャを処理途中で抜け、制御はFunction プロシージャを呼び出した次のステートメントに制御を移します。


Private Sub Test()

    Call ExitFunction

End Sub

    MsgBox ("Exit Functionのテスト3")

Function ExitFunction()

    MsgBox ("Exit Functionのテスト1")

    Exit Function
    
    MsgBox ("Exit Functionのテスト2")'このステートメントは実行されない
    
End Function
第6章 5.With~End Withステートメント Excel VBA 入門講座 第6章 7.GoToステートメント TOP