The error occurs because you are attempting to "activate" a variable, dimensioned as long, treating it as a range object.

See this link for help on the Find Method

You can keep iRow as a Long variable and dimension a new variable as a range.

Dim rFound as range

If Find returns a result you can reference the row property of the range object and continue using iRow as you have further in the code.

If Not rfound Is Nothing Then
    iRow = rfound.Row
End If