Hi BM,
Welcome to the board.
OK, a few points:
* How about using the 'unique' option in the Advanced Filter? Would that work for you?
* Beware of the blanket use of 'On Error Resume Next' - those error messages could point you in the right direction for spotting the problem with your code.
* When deleting rows its easy to lose track of the row that you are dealing with within a loop. For this reason its often easiest to establish the end of the range first and then loop backwards using Step-1. The idea is illustrated in this simple example:
Sub Test()
Dim i As Long
Application.ScreenUpdating = False
With Sheet1
For i = .Cells(Rows.Count, "C").End(xlUp).Row To 2 Step -1
If .Cells(i, "C").Value = "Mangoes" Then .Cells(i, "C").EntireRow.Delete
Next i
End With
Application.ScreenUpdating = True
End Sub
HTH