You could do something like this, without Collection or Dictionary Objects.
Dim myArray As Variant, UniqueArray As Variant Dim pointer As Long Dim i As Long myArray = Array("apple", "bat", "apple", "cat", "battery", "bat", "fish") UniqueArray = myArray pointer = LBound(UniqueArray) - 1 For i = LBound(UniqueArray) To UBound(UniqueArray) If pointer < Application.Match(UniqueArray(i), UniqueArray, 0) - (1 - LBound(UniqueArray)) Then pointer = pointer + 1 UniqueArray(pointer) = UniqueArray(i) End If Next i ReDim Preserve myArray(LBound(UniqueArray) To pointer) MsgBox Join(UniqueArray)




Reply With Quote