2016-08-11 2 views
1

웹상에서 특정 정보를 찾지 못했습니다. 루프를 Do...Loop Until 수행하고 싶지만 끝에 하나 이상의 조건을 삽입하고 싶습니다. 내가하고 싶은 :Do ... Loop 여러 조건이있을 때까지

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

이것은 가능합니까?

사전에 대단히 감사합니다 올랜도는 문 "만약"예를 들어, 사용하는 것처럼 그것은 참으로 가능하다

+5

수 있습니까? 너 그거 해봤 니? 오류가 있습니까? – BruceWayne

+0

* 웹에서 특정 정보를 찾지 못했습니다 * ... 어, 확실하게'Do [statements] Loop [** Boolean Expression **]'문서화 * 어딘가에 * –

답변

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

관련 문제