2016-08-11 2 views
1

私はWeb上で特定の情報を見つけられなかったことについて簡単に質問します。 ループをDo...Loop Until実行したいが、最後に複数の条件を挿入したい。私はしたい:Do ... Loop複数の条件のときまで

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

これは可能ですか?

は事前にありがとうございました、 オーランドあなたは声明の "if"、例えば使用していたかのようにそれが実際に可能である

+5

できませんか?あなたはそれを試しましたか?間違いはありますか? – BruceWayne

+0

* Web上の特定の情報が見つかりませんでした* ...ええと、私は確かに 'Do [statements] Loopまで[**ブール式**]'が文書化されています* –

答えて

2

以下の例では、遅延評価の実装を示しています

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

このようなコードは、性能を改善し、コードの実行をスピードアップすることを可能にします。従来のAnd演算子は結果にかかわらずすべての条件を評価するのに対し、すべての条件が真であればループを終了し、最初の偽結果が出るまで条件を1つずつ評価します。

+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は、1つ以上の条件が満たされても処理を続行します。

条件はいくつでもかまいません。

+0

ありがとうございますルー! – OrlandoT