Range.Find быстрее цикла. Всегда передавайте LookAt и LookIn: Excel помнит параметры прошлого диалога «Найти». Проверяйте Nothing.
Найти значение без цикла по ячейкам
Нужно найти строку по коду в столбце A.
Код
Function FindCode(ws As Worksheet, code As String) As Range
Set FindCode = ws.Columns(1).Find( _
What:=code, LookIn:=xlValues, LookAt:=xlWhole, MatchCase:=False)
End Function