在同一时间使用Do While和Loop

时间:2015-02-27 23:29:49

标签: vba loops

这会导致任何问题吗?

iCarli = 1

Do While .SelectSingleNode("//ROWSET/ROW/VENDORPARTNUM" & CStr(iCarli)).Text <> EMPTY_STRING

    'Statements here for setting up array and its assignment

    iCarli = iCarli + 1

Loop Until iCarli = 10

这里的要点是我需要使用这两个条件,节点不为空且计数器不能超过9而不会抛出一些无法预料的错误。 (我知道我可以使用If iCarli = 10 Then Exit Do)。

思想?

由于

1 个答案:

答案 0 :(得分:1)

是的,会导致问题。 IDE不会将其接受为有效语法。你可以选择Do While / Until或Loop While / Until,但不能同时使用。但是你可以在循环底部进行测试以退出:

Sub WillNotWork()
    Dim i As Long
    i = 1&
    Do While i > 1&

        i = i + 1&

    Loop Until i > 10&
End Sub

Sub InsteadUse()
    Dim i As Long
    i = 1&
    Do While i > 1&
        i = i + 1&
        If i > 10& Then
            Exit Do
        End If
    Loop
End Sub