February 25
La rimozione dei dati duplicati da una matrice utilizzando Visual Basic, Applications Edition (VBA) in Excel può essere fonte di confusione se non sei un programmatore esperto VBA. Ordinamento e la rimozione dei dati duplicati di un array è un processo iterativo che richiede un algoritmo piuttosto sofisticato, ma può essere facilmente realizzato seguendo alcuni semplici passaggi. In VBA, è possibile utilizzare un "ciclo FOR ..." e l'oggetto "Collection" per tenere traccia degli oggetti unici nella matrice e il processo è abbastanza rapido a seconda delle dimensioni della matrice.
1 Fare clic sulla scheda "Sviluppatore" e fare clic su "Visual Basic" per avviare la finestra di VB Editor. Inserire un nuovo modulo di codice facendo clic sul menu "Inserisci" e cliccando su "Modulo".
2 Creare una nuova procedura di sub e definire tre variabili che si intende utilizzare per rimuovere i duplicati nella propria matrice.
removeDuplicates Private Sub ()
Dim strArray(5) As String
mycol fioco come Collection
IDX Dim As Long
Set mycol = Nuova Collezione
3 Aggiungere i dati duplicati per l'array.
strArray(0) = "bbb"
strArray (1) = "bbb"
strArray (2) = "ccc"
strArray (3) = "ddd"
strArray (4) = "ddd"
4 Copiare e incollare il seguente codice per creare un "ciclo FOR ..." e ciclo attraverso ogni elemento della matrice per rimuovere i duplicati:
On Error Resume Next
Per IDX = LBound (strArray) Per UBound (strArray)
myCol.Add 0, CStr (strArray (IDX))
Se Err Poi
strArray (IDX) = vuoto
Dups = DUPS + 1
Err.Clear
DUPS ElseIf Poi
strArray (IDX - DUPS) = strArray (IDX)
strArray (IDX) = vuoto
Finisci se
Il prossimo
5 Stampa ogni elemento della matrice per la finestra immediata per dimostrare che i duplicati sono stati rimossi.
For idx = LBound(strArray) To UBound(strArray)
Debug.Print strArray (IDX)
Il prossimo
6 Tipo "End Sub" per terminare la procedura. Fare clic sul menu "Esegui" e fare clic sul pulsante di riproduzione per eseguire il programma.