做...循环直到有多个条件

Posted

技术标签:

【中文标题】做...循环直到有多个条件【英文标题】:Do... Loop Until with multiple conditions 【发布时间】:2016-12-18 10:41:32 【问题描述】:

我有一个简短的问题,我没有在网上找到具体信息。 我想执行Do...Loop Until 循环,但我想在最后插入多个条件。我想做:

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

这可能吗?

非常感谢您, 奥兰多

【问题讨论】:

不能吗?你试过吗?你有错误吗? 我没有在网上找到具体信息 ...呃,我很确定Do [statements] Loop Until [**Boolean Expression**] 记录在某处 【参考方案1】:

下面的例子展示了惰性求值的实现:

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

此类代码可以提高性能并加快代码执行速度。它逐个评估条件,直到第一个错误结果,如果所有条件都为真,则退出循环,而传统的And 运算符评估所有条件而不考虑结果。

【讨论】:

非常感谢,特别是加快计算速度的小费! :)【参考方案2】:

确实有可能就像您使用“if”语句一样,例如:

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

【讨论】:

【参考方案3】:

您可以使用And 和/或Or

Do
  'Your code
Loop until condition1 And condition2

And 将在满足所有条件时一直继续。 Or 将在满足一个或多个条件时继续。

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

【讨论】:

以上是关于做...循环直到有多个条件的主要内容,如果未能解决你的问题,请参考以下文章

如何在一个 foreach 循环中使用多个条件?

循环动画直到按下按钮,但让动画完成

for循环执行顺序?

while循环

Scala:for循环直到条件

在 JavaScript 中循环直到满足条件