【问题标题】: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**] 记录在某处

标签: vba excel loops conditional-statements


【解决方案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 将在满足一个或多个条件时继续。

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

    【讨论】:

      猜你喜欢
      • 2012-09-23
      • 2019-09-19
      • 2012-07-11
      • 2015-04-08
      • 2013-12-09
      • 2023-03-24
      • 2016-06-18
      • 2014-04-03
      • 1970-01-01
      相关资源
      最近更新 更多