Ta dupliserte data fra en matrise ved hjelp av Visual Basic for Applications ( VBA ) i Excel kan være forvirrende hvis du ikke er en erfaren VBA programmerer. Sortering og fjerne dupliserte data fra en matrise er en iterativ prosess som krever en ganske avansert algoritme , men kan enkelt gjøres ved å følge noen enkle trinn. I VBA , kan du bruke en " For ... Loop " og "Collection " objekt å holde styr på unike elementer i matrisen og prosessen er ganske rask avhengig av størrelsen på array . Instruksjoner
en
Klikk på " Developer " og klikk " Visual Basic " for å starte VB Editor vinduet. Sett inn en ny kode modul ved å klikke på "Insert "-menyen og klikke på " Module ".
2
Opprett en ny sub prosedyre og definere tre variablene du vil bruke til å fjerne duplikater i arrayet .
Private Sub removeDuplicates ()
Dim strArray ( 5 ) As String
Dim Mycol Som Collection
Dim idx Som Long
Sett Mycol = ny samling
3
Legg kopiere data til arrayet .
strArray ( 0 ) = " bBB "
strArray ( 1 ) = " bBB "
strArray ( 2 ) = " CCC"
strArray ( 3 ) = " ddd "
strArray ( 4 ) = " ddd "
4 < p > Kopier og lim inn følgende kode for å lage en " for ... Loop " og loop gjennom hvert element i matrisen for å fjerne duplikater : en
On Error Resume Next
for idx = LBound ( strArray ) Til UBound ( strArray )
0 myCol.Add , CStr ( strArray ( idx ) )
p Hvis Err Deretter
strArray ( idx ) = Tom
dups = dups + 1
err.Clear
ElseIf Dups Deretter
strArray ( idx - dups ) = strArray ( idx )
strArray ( idx ) = Tom
End If
Neste
5
Print hvert element i matrisen til Immediate-vinduet for å vise at duplikater er fjernet.
For idx = LBound ( strArray ) Til UBound ( strArray )
Debug.Print strArray ( idx )
Neste
6
Type " End sub " for å avslutte prosedyren . Klikk på "Kjør "-menyen og klikk på play -knappen for å kjøre programmet .