Entfernen von doppelten Daten aus einem Array mit Visual Basic für Applikationen (VBA) in Excel kann verwirrend sein, wenn Sie nicht ein erfahrener VBA -Programmierer sind . Sortieren und Entfernen von doppelten Daten aus einem Array ist ein schrittweiser Prozess, der eine ziemlich ausgeklügelten Algorithmus erfordert , kann aber leicht durch ein paar einfachen Schritten erreicht werden. In VBA können Sie eine " For ... Loop" und die "Collection" -Objekt zu verfolgen, einzigartige Gegenstände zu halten in der Anordnung und der Prozess ist ziemlich schnell abhängig von der Größe Ihres Arrays . Anleitung
1
Klicken Sie auf die Registerkarte "Entwicklertools" und klicken Sie auf " Visual Basic ", um den VB -Editor-Fenster starten. Legen Sie eine neue Code-Modul , indem Sie den Menü "Einfügen" und klicken Sie auf "Module ".
2
Erstellen Sie eine neue Sub-Prozedur und definieren drei Variablen, die Sie verwenden, um Duplikate in Ihrem Array entfernen.
private Sub RemoveDuplicates () Dim
strArray (5) As String Dim
Mycol Als Sammlung
Dim idx As Long Set
Mycol = Neue Kollektion
3
hinzufügen doppelte Daten zu Ihrem Array.
strArray (0) = "bbb "
strArray (1) = "bbb "
strArray (2) = "ccc "
strArray (3) = "ddd "
strArray (4) = "ddd "
4 < p> Kopieren Sie den folgenden Code, um eine " For ... Loop" und Schleife durch jedes Element des Array Duplikate entfernen zu erstellen :
On Error Resume Next
idx = LBound ( strArray ) To UBound ( strArray )
myCol.Add 0 , CStr ( strArray ( idx ) )
Wenn Err Dann
strArray ( idx ) = Leer
dups = dups + 1
Err.Clear
ElseIf Dups Dann
strArray ( idx - dups ) = strArray ( idx )
strArray ( idx ) = Leer
End If Next
5
drucken jedes Element im Array auf dem Direkt-Fenster , dass Duplikate zeigen , wurden entfernt.
idx = LBound ( strArray ) To UBound ( strArray )
Debug.Print strArray ( idx )
Weiter
6
Typ "End Sub ", um Ihre Verfahren beenden. Klicken Sie auf den " Run "-Menü und klicken Sie auf die Play-Taste , um das Programm auszuführen.