' Filter out duplicate values in an array and compact' the array by moving items to "fill the gaps".' Returns the number of duplicate values'' it works with arrays of any type, except objects'' The array is not REDIMed, but you can do it easily using' the following code:' a() is a string array' dups = FilterDuplicates(a())' If dups Then' ReDim Preserve a(LBound(a) To UBound(a) - dups) As String' End IfFunction FilterDuplicates(arr As Variant) As Long Dim col As Collection, index As Long, dups As Long Set col = New Collection On Error Resume Next For index = LBound(arr) To UBound(arr) ' build the key using the array element ' an error occurs if the key already exists col.Add 0, CStr(arr(index)) If Err Then ' we've found a duplicate arr(index) = Empty dups = dups + 1 Err.Clear ElseIf dups Then ' if we've found one or more duplicates so far ' we need to move elements towards lower indices arr(index - dups) = arr(index) arr(index) = Empty End If Next ' return the number of duplicates FilterDuplicates = dups End Function


The Role of Call Data: How Call Tracking Can Improve Customer Experience
Who would argue that experiences reign supreme? But not just any experiences — the ones that occur when customers interact with your business. It’s these real-life interactions that have the