Selected Answer
Philip
In the revised file attached, you'll see a green button "Find first row for today or later" whih is assigned to the code below (in Module1). Click it and you'll be moved to the first cell found with today's date (or the next date after if there isn't one).
The IF statement compares each cell to today's date, which is given by Date in VBA (I used that rather than VBA's Range.Find method since an exact match might not be found).
I've added comments to let you know what's happening:
Sub RowAfterToday()
With ThisWorkbook.Worksheets("Sheet1") 'Do the next things with this
LastRw = .Range("A" & Rows.Count).End(xlUp).Row ' find last row with any data in column A
For Each Cll In .Range("A2:A" & LastRw) 'loop through column A used range
If Cll.Value >= Date Then 'check if cell value is today or later
Cll.Select 'if so, select then
Exit Sub 'exit macro
End If
Next Cll ' if not, loop around
End With ' stop doing things under the With
End Sub
It will work if you add a few or hundreds of extra rows (since the With and line starting
LastRw= work out the last populated row in column A)
Hope this works for you.