Continuing a loop from within an if statement?

  • Thread starter Thread starter Sam
  • Start date Start date
S

Sam

I need to go to the next iteration of my loop from within my IF
statement. How is this done? I can't belive I can't find such a simple
thing on my own...
For i = 1 To lastrow
...do something
If Mid(str1, 1, 3) = "USA" Then
... do something else
Next ///// gives me compile error "next without for"
End If
...do something
Next
 
Not sure what logic you are trying to test here - you cannot have more
than one next per for statement, but you could have

for i = 1 to last throw
if mid(str1,1,3)="USA" then
'do something else
else
'do something
end if
next
 
I haven't tested this, but maybe try:

For i = 1 To lastrow
...do something
If Mid(str1, 1, 3) = "USA" Then
... do something else
Goto ForceNexti
End If
...do something
ForceNexti:
Next
 
Hi Sam,

Try something like:

'=============>>
Public Sub Tester001()
Dim sStr As String
Dim i As Long
Dim LastRow As Long

LastRow = Cells(Rows.Count, "A").End(xlUp).Row

For i = 1 To LastRow
sStr = ActiveSheet.Cells(i, "A").Value
If Mid(sStr, 1, 3) = "USA" Then
'Do something, e.g.:
Cells(i, "A").Interior.ColorIndex = 3
Else
'Do something else
End If
Next i

End Sub
'<<=============
 
Thank you. I was looking for a simple "continue" type statement. I
fixed it by adding your loop above.
Thjnak you very much.
 
Aiden gave the best solution, but if you can't figure out a way to construct
your if statements to do it in a structured fashion, you might be able to do
something like

For i = 1 To lastrow
bDoMore = True
...do something
If Mid(str1, 1, 3) = "USA" Then
... do something else
bDoMore = False
End If
if bDoMore then
....do something
end if
Next
 
try

If InStr(Cells(ActiveCell.Row, ActiveCell.Column), "USA") Then MsgBox "Hi"
or for str1

If InStr(str1, "USA") Then dosomething

NO neeed for
else
do something else
end if
IF on same line or you used the continuation character _
 
You could always have your DoSomething and DoSomething else bits as sub
routines - which is always quite nice in code anyway
 

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

Similar Threads


Back
Top