Can you use VBA and 'dump' the range into a Variant so you
can loop the resulting array backwards?
If you use VBA, there is no need for a loop...
Sub FindPrevious()
Dim What As String, Found As Range
What = InputBox("What do you want to find?")
On Error Resume Next
Set Found = Intersect(ActiveCell.EntireColumn, Range("1:" & _
ActiveCell.Row).Find(What, ActiveCell, xlValues, _
xlWhole, , xlPrevious, False))
If Found Is Nothing Then
MsgBox "Sorry, but " & What & " does not appear above cell " & _
ActiveCell.Address(0, 0) & ".", vbExclamation
Else
Found.Select
End If
End Sub
Rick Rothstein (MVP - Excel)