OrlandoT
OrlandoT

Reputation: 71

Do... Loop Until with multiple conditions

I have a quick question about which I did not find specific information on the web. I want to perform a Do...Loop Until loop, but I would like to insert more than one condition at the end. I would like to do:

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

Is this possible?

Thank you very much in advance, Orlando

Upvotes: 3

Views: 48580

Answers (3)

omegastripes
omegastripes

Reputation: 12602

The below example shows lazy evaluation implementation:

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

Such code allows to improve performance and speed up code execution. It evaluates conditions one by one until first false result only, if all conditions are true then it exits the loop, while conventional And operators evaluate all conditions regardless of the results.

Upvotes: 7

Lew
Lew

Reputation: 1278

You can use And and/or Or:

Do
  'Your code
Loop until condition1 And condition2

And will continue all the time all conditions are met. Or will continue when one or more of the conditions are met.

You can have any number of conditions.

Upvotes: 6

jsanchezs
jsanchezs

Reputation: 2070

It is possible indeed as if you were using "if " statement, for example:

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

Upvotes: 6

Related Questions