Orl*_*doT 3 excel vba loops excel-vba conditional-statements
我有一个简短的问题,我没有在网上找到具体的信息.我想执行一个Do...Loop Until循环,但我想在最后插入多个条件.我想要做:
Do
' ...my code...
Loop Until [Condition 1] And [Condition 2] And....And [Condition n]`
Run Code Online (Sandbox Code Playgroud)
这可能吗?
非常感谢,奥兰多
您可以使用And和/或Or:
Do
'Your code
Loop until condition1 And condition2
Run Code Online (Sandbox Code Playgroud)
And将一直持续到所有条件都满足。
Or当满足一个或多个条件时将继续。
您可以有任意数量的条件。
下面的例子展示了惰性求值的实现:
Do
' some operations
Select Case False
Case Condition1
Case Condition2
Case Condition3
Case ConditionN
Case Else Exit Do
End Select
Loop
Run Code Online (Sandbox Code Playgroud)
这样的代码可以提高性能并加速代码执行。它一个接一个地评估条件,直到只有第一个错误结果,如果所有条件都为真,那么它退出循环,而传统And运算符评估所有条件而不管结果。
确实可能就像使用"if"语句一样,例如:
Do Until rngCell.Value="" Or rngCell.Value="abc"
DatePresent = (rngCell.Value = "RESP") Or (rngCell.Value ="Respiratory")
Set rngCell = rngCell.Offset(1)
Loop
Run Code Online (Sandbox Code Playgroud)