To avoid duplication without any prompts , use this method.
code
Sub Sample() Dim col As New Collection Dim itm On Error Resume Next col.Add 111, Cstr(111) col.Add 222, Cstr(222) col.Add 111, Cstr(111) col.Add 111, Cstr(111) col.Add 333, Cstr(333) col.Add 111, Cstr(111) col.Add 444, Cstr(444) col.Add 555, Cstr(555) On Error GoTo 0 For Each itm In col Debug.Print itm Next End Sub
Screen shot

Explanation
A collection is an ordered set of elements that can be called a unit. Syntax
col.Add item, key, before, after
A collection cannot have the same key twice, so we create the key using the element to be added. This ensures that we do not get duplicates. On Error Resume Next simply says that the code ignores the error that we get when we try to add a duplicate and simply move on to the next element to be added. CHR(34) is nothing more than " , so the above statement can also be written as
col.Add 111, """" & 111 & """"
Recommended Reading
Visual Basic Collection Object
NTN
source share