Ta bort dubblerade data från en array med Visual Basic for Applications ( VBA ) i Excel kan vara förvirrande om du inte är en erfaren VBA programmerare . Sortering och ta bort dubblerade data från en array är en iterativ process som kräver en ganska sofistikerad algoritm men kan enkelt göras genom att följa några enkla steg . I VBA kan du använda en " For ... Loop " och "samling " objekt att hålla reda på unika objekt i arrayen och processen är ganska snabbt beroende på storleken på din array . Instruktioner
1
Klicka på " Utvecklare " fliken och klicka på " Visual Basic " för att starta VB Editor fönstret . Sätt i en ny kod modul genom att klicka på " Infoga " -menyn och klicka på " Modul . "
2
Skapa en ny sub förfarande och definiera tre variabler som du använder för att ta bort dubbletter i din array .
Private Sub removeDuplicates ( ) katalog
Dim strArray ( 5 ) As String
Dim Mycol Som Collection
Dim IDX As Long
Set Mycol = New Collection Addera 3
Lägg duplicera data till din array .
strArray ( 0 ) = " bbb "
strArray ( 1 ) = " bbb "
strArray ( 2 ) = " CCC "
strArray ( 3 ) = " DDD "
strArray ( 4 ) = " DDD "
4
Kopiera och klistra in följande kod för att skapa en " For ... loop " och loopa igenom varje element i arrayen för att ta bort alla dubbletter :
On Error Resume Next
för idx = LBound ( strArray ) Till UBound ( strArray ) katalog
myCol.Add 0 , CStr ( strArray ( idx ) ) katalog p Om Err Sedan
strArray ( idx ) = Tom
Dups = Dups + 1
Err.Clear
ElseIf Dups Sedan
strArray ( idx - Dups ) = strArray ( idx ) katalog
strArray ( idx ) = Tom
End If
Nästa
5
ut varje element i arrayen till direktfönstret för att visa att dubbletter har tagits bort .
För idx = LBound ( strArray ) Till UBound ( strArray ) katalog
Debug.Print strArray ( idx ) katalog
Nästa
6
Type " End sub "för att avsluta ditt förfarande . Klicka på " Kör " -menyn och klicka på play-knappen för att köra programmet .