ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Continuing a loop from within an if statement? (https://www.excelbanter.com/excel-programming/362083-continuing-loop-within-if-statement.html)

Sam

Continuing a loop from within an if statement?
 
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


[email protected]

Continuing a loop from within an if statement?
 
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


[email protected]

Continuing a loop from within an if statement?
 
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


Norman Jones

Continuing a loop from within an if statement?
 
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
'<<=============


---
Regards,
Norman


"Sam" wrote in message
oups.com...
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




Sam

Continuing a loop from within an if statement?
 
Thank you. I was looking for a simple "continue" type statement. I
fixed it by adding your loop above.
Thjnak you very much.


Tom Ogilvy

Continuing a loop from within an if statement?
 
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

--
Regards,
Tom Ogilvy


"Sam" wrote:

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



Don Guillett

Continuing a loop from within an if statement?
 
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 _

--
Don Guillett
SalesAid Software

"Sam" wrote in message
oups.com...
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




[email protected]

Continuing a loop from within an if statement?
 
You could always have your DoSomething and DoSomething else bits as sub
routines - which is always quite nice in code anyway



All times are GMT +1. The time now is 01:34 PM.

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