Fjernelse dublerede data fra et array ved hjælp af Visual Basic for Applications ( VBA ) i Excel kan være forvirrende, hvis du ikke er en erfaren VBA programmør. Sortering og fjernelse af dublerede data fra en matrix er en iterativ proces, der kræver en temmelig avanceret algoritme , men kan nemt gøres ved at følge nogle få enkle trin . I VBA kan du bruge en "For ... Loop " og " Collection " objekt at holde styr på unikke elementer i rækken, og processen er forholdsvis hurtig , afhængigt af størrelsen på din array. Instruktioner
1
Klik på " Udvikler " fanen og klik på " Visual Basic " for at starte VB Editor vinduet. Indsæt en ny kode modul ved at klikke på "Indsæt " menuen og klikke på " Modul ".
2
Opret en ny sub procedure og definere tre variabler, du vil bruge til at fjerne dubletter i dit array.
Private sub removeDuplicates ()
Dim strArray (5) As String
Dim Mycol Som Collection
Dim IDX As Long
Set Mycol = ny kollektion
3
Tilføj duplikere data til din array.
strArray (0) = " BBB "
strArray (1) = " BBB "
strArray (2) = " ccc "
strArray (3) = " DDD "
strArray (4) = " DDD "
4 < p> Kopier og indsæt følgende kode til at oprette en "For ... loop " og sløjfe gennem hvert element i array til at fjerne enhver dubletter : Hej
On Error Resume Next
IDX = LBound ( strArray ) Til UBound ( strArray )
myCol.Add 0, CStr ( strArray ( IDX ) )
p Hvis Err Så
strArray ( IDX ) = Tom < br >
Dups = Dups + 1
Err.Clear
EllersHvis Dups Så
strArray ( IDX - Dups ) = strArray ( IDX )
strArray ( IDX ) = Empty
End If
Næste
5
Print hvert element i matrix til Immediate -vinduet for at vise, at dubletter er blevet fjernet. < br >
IDX = LBound ( strArray ) Til UBound ( strArray )
Debug.Print strArray ( IDX )
Næste
6
Type " End sub "for at afslutte din procedure . Klik på " Kør " i menuen og klikke på play -knappen for at køre programmet.