Maybe . . .
Use a helper cell to count the duplicates and return either true (duplicate) or no. A native function in the worksheet is faster than VBA code looping through the range.
Then use Autofilter to filter on true values and use the SpecialCells(xlCellTypeVisible) property to delete visible cells. Be sure to offset from the header row so it doesn't get deleted.
example
Dim lrow As Long, rRng As Range
lrow = Sheet1.Cells(Rows.Count, 1).End(xlUp).Row
Application.ScreenUpdating = False
With Sheet1
.Range("A1:A" & lrow).AutoFilter Field:=1, Criteria1:="1"
Set rRng = .Range("A1:A" & lrow).SpecialCells(xlCellTypeVisible)
rRng.Offset(1, 0).EntireRow.Delete
End With
Application.ScreenUpdating = True
Bookmarks