Rimozione di dati duplicati da un array utilizzando Visual Basic, Applications Edition (VBA ) in Excel può creare confusione se non sei un programmatore esperto di VBA . Ordinamento e rimuovere i dati duplicati da un array è un processo che richiede un algoritmo iterativo piuttosto sofisticato , ma può essere facilmente realizzata seguendo alcuni semplici passaggi . In VBA , è possibile utilizzare un " ciclo FOR ... " e l'oggetto " Collection" per tenere traccia di oggetti unici nella matrice e il processo è abbastanza veloce a seconda delle dimensioni del vostro array . Istruzioni
1
Fare clic sulla scheda "Sviluppatore " e cliccare su " Visual Basic " per avviare la finestra Editor VB . Inserire un nuovo modulo di codice , fare clic sul menu "Inserisci" e cliccando su "Modulo ".
2
Creare una nuova procedura di sub e di definire tre variabili che si intende utilizzare per rimuovere i duplicati nel vostro array.
RemoveDuplicates private Sub ()
Dim strArray ( 5) As String Dim
mycol Come Collection
Dim idx As Long
mycol = nuova Collezione
3
aggiungere dati al vostro array duplicati .
strArray ( 0 ) = " bbb "
strArray ( 1 ) = " bbb "
strArray ( 2) = "ccc "
strArray ( 3) = " ddd"
strArray ( 4) = "ddd "
4 < p > Copia e incolla il seguente codice per creare un " per ... loop" e loop attraverso ogni elemento della matrice per rimuovere i duplicati :
On Error Resume Next
idx = LBound ( strArray ) A UBound ( strArray ) per
myCol.Add 0 , CStr ( strArray ( IDX ) ) per
Se Err Poi
strArray ( IDX ) = Vuoto < br
dups > = dups + 1
Err.Clear
ElseIf DUPS Poi
strArray ( Ind - dups ) = strArray ( IDX ) per
strArray ( IDX ) = Vuoto
End If
Prossimo
5
Stampa ogni elemento della matrice per la finestra immediata per dimostrare che i duplicati sono stati rimossi.
idx = LBound ( strArray ) A UBound ( strArray ) per
Debug.Print strArray ( IDX ) per
Successivo
6 Tipo
"End sub "per terminare la procedura. Fare clic sul menu "Run" e fare clic sul pulsante di riproduzione per eseguire il programma .