Hi,

I have a routine that should look down a range of several columns of around 10K rows each for 'SearchItem'.
It needs to be columns because the first column is most likely to contain the item being looked for.

Here's the code.

If Trim(SearchItem) <> "" Then
   With Sheets("Data").Range("StdEng")
      Set Rng = .Find(What:=FindString, _
                  After:=.Cells(.Cells.Count), _
                  LookIn:=xlValues, _
                  LookAt:=xlWhole, _
                  SearchOrder:=xlByColumns, _
                  SearchDirection:=xlNext, _
                  MatchCase:=False)
      If Not Rng Is Nothing Then
         i = Split(Rng.Address, "$")
         WhichRow = i(2)
         WhichCol = i(1)
         What = Rng.Value
         Found = True
      End If
   End With
End If

I've obviously done something wrong, because here's what happened.

It worked exactly as hoped. Once. And then it never worked again. After that first time it just kept finding cell F3,

which is part of the range, but has always been empty. Since it did work once, I assume that the reason it doesn't now is something to do with the settings for After, LookIn, LookAt, etc.

I really need this to work, and if anyone can put me right I'd be deeply grateful.