The original code will look for the letter "f" in the cell, so if the cell contained the word "Offle" it would assume a match. I now take it you want only cells that contain a single "f" and nothing else? If so try this.
Sub DoIt()
Dim rRange As Range
Dim rCell As Range
Range("H1", Range("H65536").End(xlUp)) _
.Offset(0, 1).FormulaR1C1 = "=IF(RC[-1]=""f"",1,NA())"
Set rRange = Range("I1", Range("I65536").End(xlUp)).Offset(0, 1)
rRange = rRange.Value
Set rRange = rRange.SpecialCells(xlCellTypeConstants, xlNumbers)
For Each rCell In rRange
rCell.EntireRow.Copy Destination:= _
Sheets("Sheet1").Range("A65536").End(xlUp).Cells(2, 1)
Next rCell
rRange.Clear
End Sub