同时使用Do While和Loop until

  • 本文关键字:Loop until While Do 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)。

想法?

感谢

是的,这会导致问题。IDE将不接受它作为有效语法。可以执行While/Until或循环While/Intil,但不能同时执行。但你可以在循环的底部进行测试以退出:

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

最新更新