For/Loop skipping one value in loop only

  • Thread starter Thread starter Matt Jensen
  • Start date Start date
M

Matt Jensen

G'day guys and girls
Just a quick question, more general programming than VBA specific, and one
that I haven't had to deal with before in any programming.

Example (pseudo code):

For i = 1 to 6
if myvar = true then
if i = 3 then
skip to next i
else
'do my code
end if
end if
Next i

So, in simple terms, I want to skip my processing code if i = 3.
However I included the "if myvar = true" code because I only want to skip
i=3 if a certain condition elsewhere in my workbook is true.

What's the best way to go about this?
Thanks very much
Matt
 
Hi Matt,

One way:

For i = 1 To 6
If i = 3 And myvar = True Then
'do nothing
Else
'do my code
End If
Next
 
This really does not make any diff, maybe you are trying to increment i from
3 to 5? In that case instead of SkipDow put i = i +1?

Sub SkipIT()
myvar = True
For i = 1 To 6
If myvar = True Then
If i = 3 Then
GoTo SkipDown
Else
'do my code
End If
End If
SkipDown:
Next i
End Sub
 
Hah! Excellent thanks guys - too easy!
My brain's a bit fried at the moment and my eyes are almost square from so
much time in front of the screen this week, so the heads up is much
appreciated...!
Thanks again
Cheers
Matt
 
Except that the "purists" will tell you that the variable used in a For/Next
loop should be modified ONLY by the NEXT statement. If you adhere to those
"rules", Matt's solution is what is needed.
 
Myrna said:
Except that the "purists" will tell you that the variable used in a For/Next
loop should be modified ONLY by the NEXT statement. If you adhere to those
"rules", Matt's solution is what is needed.

What is the argument in favor of the "purists' rules"?

Alan Beban
 
Yeah I'm not too sure which solution Myrna is referring to, I imagine it was
David's though...?
Matt
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Back
Top