Dim r As Range, n As Long, a()
'lr2 = Range("A" & Rows.Count).End(xlUp).Row ' define lr2 as the last row of data
'MsgBox ("Row Number = ") & Right(rng, Len(rng) - 3)
lr2 = Range(Right(rng, Len(rng) - 3)).Row
'MsgBox ("Row Number = ") & lr2
ReDim a(1 To lr2 - 1, 1 To 1)
With CreateObject("Scripting.Dictionary")
.CompareMode = 1
For Each r In ActiveSheet.Range(rng)
If Not .Exists(r.Value) Then
n = n + 1
a(n, 1) = r.Value
.Item(r.Value) = Empty
End If
Next
End With
ActiveSheet.Range(rng).Value = a
End Sub
Sub Test()
Dim r1 As String
r1 = "A2:A6"
removedub (r1)
End Sub