ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Do While Vs Do Until (https://www.excelbanter.com/excel-programming/310433-do-while-vs-do-until.html)

[email protected]

Do While Vs Do Until
 
Which of these should break out of a For Next Loop when x = 1?
I think I'm getting the same action either way. I want it to break when
x = 1 and skip the rest of the For/Next

x = 0
Do While x = 0
For i = 1 to 10
If val1 = val2 Then
x = 1
End If
Next i
Loop

x = 0
Do Until x = 1
For i = 1 to 10
If val1 = val2 Then
x = 1
End If
Next i
Loop


JohnI in Brisbane[_2_]

Do While Vs Do Until
 
marston,

You're understanding is correct. "Do While" & "Do Until" are both pre-tested
loops.

To get a post-tested loop use "Loop While" or "Loop Until"

examples:-

x = 0
Do
For i = 1 to 10
If val1 = val2 Then
x = 1
End If
Next i
LoopWhile x = 0

x = 0
Do
For i = 1 to 10
If val1 = val2 Then
x = 1
End If
Next i
Loop Until x = 1
======================

In your example you only need the following if you're just trying to exit
the for loop.

For i = 1 To 10
If val1 = val2 Then Exit For

Next i

regards,

JohnI


" wrote in message
oups.com...
Which of these should break out of a For Next Loop when x = 1?
I think I'm getting the same action either way. I want it to break when
x = 1 and skip the rest of the For/Next

x = 0
Do While x = 0
For i = 1 to 10
If val1 = val2 Then
x = 1
End If
Next i
Loop

x = 0
Do Until x = 1
For i = 1 to 10
If val1 = val2 Then
x = 1
End If
Next i
Loop




Tom Ogilvy

Do While Vs Do Until
 
is the do While doing anything or is that your attempt to break out of the
for next loop. If so, the do while or do unil or loop While or loop until
are all external to the for next loop and would have no effect (conditions
are checked at the Do or Loop line). If you want to break out of the for
next loop

for i = 1 to 10
if val1 = val2 then
exit for
end if
Next

--
Regards,
Tom Ogilvy



" wrote in message
oups.com...
Which of these should break out of a For Next Loop when x = 1?
I think I'm getting the same action either way. I want it to break when
x = 1 and skip the rest of the For/Next

x = 0
Do While x = 0
For i = 1 to 10
If val1 = val2 Then
x = 1
End If
Next i
Loop

x = 0
Do Until x = 1
For i = 1 to 10
If val1 = val2 Then
x = 1
End If
Next i
Loop





All times are GMT +1. The time now is 05:09 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com