Dubbele gegevens verwijderen uit een array gebruikmakend van Visual Basic for Applications (VBA) in Excel kunnen verwarrend zijn als u niet een ervaren VBA-programmeur. Sorteren en verwijderen van dubbele gegevens uit een array is een iteratief proces dat vereist een vrij geavanceerde algoritme maar gemakkelijk kan worden bereikt door een paar eenvoudige stappen te volgen. In VBA kunt u een "For... Loop"en het"Collection"-object voor het bijhouden van unieke items in de matrix en het proces is vrij snel afhankelijk van de grootte van uw array.
Klik op het tabblad 'Developer' en op 'Visual Basic' te lanceren de VB-Editor-venster. Voeg een nieuwe codemodule door te klikken op het "Invoegen" menu en te klikken op "Module."
Maak een nieuwe Sub-procedure en definieer van drie variabelen die u gebruiken zal om duplicaten verwijderen in uw array.
Private Sub removeDuplicates()
Dim strArray(5) As String Dim myCol As Collection Dim idx As Long Set myCol = New Collection
Dubbele gegevens toevoegen aan uw array.
strArray(0) = "bbb" strArray(1) = "bbb" strArray(2) = "ccc" strArray(3) = "ddd" strArray(4) = "ddd"
Kopieer en plak de volgende code om te maken een "For... Loop"en loop door elk element van de array te verwijderen van duplicaten:
On Error Resume Next For idx = LBound(strArray) To UBound(strArray) myCol.Add 0, CStr(strArray(idx)) If Err Then strArray(idx) = Empty dups = dups + 1 Err.Clear ElseIf dups Then strArray(idx - dups) = strArray(idx) strArray(idx) = Empty End If Next
Afdrukken van elk element in de array naar het venster Immediate om te laten zien dat er dubbele records zijn verwijderd.
For idx = LBound(strArray) To UBound(strArray) Debug.Print strArray(idx) Next
Typ 'End Sub' aan het einde van uw procedure. Klik op het menu "Run" en klik op de knop afspelen als u wilt het programma uitvoeren.