2016-08-11 75 views
1

我有一个关于哪些我没有找到网上的具体信息的快速问题。 我想执行一个Do...Loop Until循环,但我希望在最后插入多个条件。我想做:做...循环直到有多个条件

Do 
    ' ...my code... 
Loop Until [Condition 1] And [Condition 2] And....And [Condition n]` 

这可能吗?

非常感谢你提前, 奥兰多

+5

你不能?你尝试过吗?你有错误吗? – BruceWayne

+0

*我没有在网上找到具体的信息* ...呃,我敢肯定'做[语句]循环直到[**布尔表达式**]'被记录*在某处* –

回答

2

下面的例子示出了延迟计算实现:

Do 
    ' some operations 
    Select Case False 
     Case Condition1 
     Case Condition2 
     Case Condition3 
     Case ConditionN 
     Case Else Exit Do 
    End Select 
Loop 

这种代码允许以提高性能和加速执行代码。它会逐个评估条件,直到只有第一个假结果,如果所有条件都为真,则退出循环,而传统的And操作员会评估所有条件,而不管结果如何。

+0

非常感谢,特别是为了加快计算速度! :) – OrlandoT

3

有可能确实是因为如果你使用“如果”语句,例如:

Do Until rngCell.Value="" Or rngCell.Value="abc" 
    DatePresent = (rngCell.Value = "RESP") Or (rngCell.Value ="Respiratory") 
    Set rngCell = rngCell.Offset(1) 
Loop 
2

您可以使用And和/或Or

Do 
    'Your code 
Loop until condition1 And condition2 

And将一直持续所有条件都满足。当满足一个或多个条件时, Or将继续。

您可以有任意数量的条件。

+0

感谢您添加此信息卢! – OrlandoT