如何退出For循环而不转到Next

时间:2017-12-07 17:22:17

标签: excel-vba vba excel

我的代码中包含一个包含If Else语句的For循环。当If语句为true时,我想退出整个For循环。将不再需要循环遍历该范围的其余部分。将"退出"适合这个吗?

我正在查看微软网站上的Exit语句,根据他们的说法,Exit For继续执行紧跟在Next语句之后的语句。如果这是真的,退出是不会工作。我想继续使用Next命令。

我可以花时间使用数字计数器或其他东西来测试这个,但我想得到一个快速回答,因为我确信这对大多数人来说是显而易见的。谢谢!

1 个答案:

答案 0 :(得分:3)

是的,你可以。使用:

Sub test()

Dim x As Integer
For x = 1 To 10

    If x = 2 Then
        Debug.Print "here"
        Exit For
    Else
        Debug.Print x
    End If

Next x

End Sub

我明白了:

1
here

用这个:

Sub test4()

Dim x As Integer
For x = 1 To 10

    If x = 2 Then
        Debug.Print "here"
        Exit For
    Else
        Debug.Print x
    End If

Debug.Print "testing"

Next x

End Sub

我明白了:

 1 
testing
here

用这个:

Sub test4()

Dim x As Integer
For x = 1 To 10

    If x = 2 Then
        Debug.Print "here"
        Exit For
        Debug.Print "after here"
    Else
        Debug.Print x
    End If

Debug.Print "testing"

Next x

End Sub

你得到:

 1 
testing
here