Ti posto un function che serve per eliminare i duplicati in un vettore che ho copiato da un libro io l'ho provata funziona correttamente:
codice:
Dim VettAppo1()
'esempio di vettore con duplicati
VettAppo1 = Array("a", "b", "c", "d", "a", "a")
'richiami la function e al termine in VettAppo1 non hai più duplicati
dups = FilterDuplicates(VettAppo1())
Function 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)
'costruisci la chiave usando l'elemento dell'array
'avviene un errore se la chiave esiste già
col.Add 0, CStr(arr(index))
If Err Then
'abbiamo trovato un duplicato
arr(index) = Empty
dups = dups + 1
Err.Clear
ElseIf dups Then
'abbiamo trovato uno o più duplicati
' dobbiamo spostare gli elementi verso gli indici più bassi
arr(index - dups) = arr(index)
arr(index) = Empty
End If
Next
'restituisci il numero dei duplicati se ti interessa
FilterDuplicates = dups
End Function
Ciao, spero possa esserti utile