Вам нужно удалить снизу вверх.Это потому, что когда вы удаляете строку, строки ниже сдвигаются вверх, то есть «следующая» ячейка, которую нужно проверить, будет в той же строке, а не в следующей.Работа от начала до конца обходит это аккуратно.
Dim i as Long
With SrchRng
For i = .Cells.Count To 1 Step -1
If .Cells(i).Value = SrchStr Then
.Cells(i).EntireRow.Delete
End If
Next
End With