How aboutThis replaces all your codeSub GetUnique() Dim cl As Range With CreateObject("scripting.dictionary") For Each cl In Range("J4", Range("J" & Rows.Count).End(xlUp)) .Item(cl.Value) = Empty Next cl For Each cl In Range("S4", Range("S" & Rows.Count).End(xlUp)) .Item(cl.Value) = Empty Next cl Range("A1").Value = Join(.keys, ", ") End With End Sub