Sub KeepLastDupe()
Dim x() As String
Dim z As Variant
Dim LastRow As Long
Dim newValue As String
With ActiveSheet
LastRow = Cells(.Rows.Count, "A").End(xlUp).Row
End With
ReDim x(0 To LastRow)
Application.ScreenUpdating = False
For i = LastRow To 2 Step -1
newValue = Cells(i, "A").Value
'Create a filtered array
z = Filter(x, newValue)
If UBound(z) >= 0 Then 'dupe found
'If dupe, delete the row
Cells(i, "A").EntireRow.Delete
Else
'otherwise, add value to our array for future reference
x(i) = newValue
End If
Next i
Application.ScreenUpdating = True
End Sub