So I'm using a For Each loop to go down column A and apply statements to each of the cells with data in it.

However, I need to the For Each loop to skip the first row of data (the titles), to skip any blank rows in between data used as visual separators, and to stop the loop when it reaches the last row of data in that column.

Here's what I have:

For Each ProductID In [2011-liftgate-price-update-sam.xlsm].Worksheets("Sheet1").Range("A:A")

'If Then Statement is used to filter out rows that dont have Product data
    If WorksheetFunction.Row(ProductID) = 1 Then Next ProductID
        ElseIf WorksheetFunction.Row(ProductID) = WorksheetFunction.Row(Range("A:A").End(xlDown)) + 1 Then Exit For
        ElseIf IsEmpty(ProductID) Then Next ProductID
        Else:
             *INSERT VARIOUS STATEMENTS TO BE PERFORMED ON DATA ROWS*
             End If
                     
    Next ProductID
The problem, of course, is that I cant put the "Next ProductID" part of the For Each loop inside the If Then conditional. What I need to do is increment the For Each loop whenever one of those special cases is reached, or in the case of the first Elseif clause (which checks to see if the row number you are on is the one after the last row with data, and exits the loop if it is).

Any help on this would be much appreciated!