VBA - Poista kaksoiskappaleet taulukosta

Sisällysluettelo

Tämä opetusohjelma opettaa sinulle, miten kaksoiskappaleet poistetaan taulukosta VBA: ssa.

Poista kaksoiskappaleet

Helpoin tapa poistaa kaksoiskappaleet VBA -taulukosta on määrittää taulukon arvot VBA -kokoelmaan ja siirtää sitten arvot takaisin taulukolle. Kokoelmat eivät salli päällekkäisiä arvoja, joten kokoelman avulla voimme poistaa kaksoiskappaleet taulukosta. Olemme luoneet toiminnon tämän tehtävän suorittamiseen:

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 Toiminto ArrayRemoveDups (MyArray As Variant) VarianttinaHimmennä ensin niin kauan, n viimeinen niin kauan, minä niin kauanHimmennä kohde merkkijononaDim arrTemp () merkkijononaDim Coll kuin uusi kokoelma'Hanki ensimmäisen ja viimeisen sarjan asematnFirst = LBound (MyArray)nLast = UBound (MyArray)ReDim arrTemp (nEnsimmäinen nLast)'Muunna Array merkkijonoksiSillä i = nEnsimmäinen nViimeksiarrTemp (i) = CStr (MyArray (i))Seuraavaksi minä'Täytä väliaikainen kokoelmaVirhe Jatka seuraavaksiSillä i = nEnsimmäinen nViimeksiColl. Lisää arrTemp (i), arrTemp (i)Seuraavaksi minäVirhe SelväVirhe GoTo 0'Muuta taulukon kokoanLast = Laskentamäärä + nEnsimmäinen - 1ReDim arrTemp (nEnsimmäinen nLast)'Täytä joukkoSillä i = nEnsimmäinen nViimeksiarrTemp (i) = Coll (i - nEnsimmäinen + 1)Seuraavaksi minä'TulostusjärjestelmäArrayRemoveDups = arrTempLopeta toimintoAlatesti ()Dim strNames (1-4) merkkijononaDim outputArray () merkkijononaDim niin kauanDim -kohde Vaihtoehtona'Aseta alkuarvotstrNames (1) = "Shelly"strNames (2) = "Steve"strNames (3) = "Neema"strNames (4) = "Steve"'Call Dup -toimintooutputArray = ArrayRemoveDups (strNames)'Lähtöarvot välittömään ikkunaan (CTRL + G)Jokaiselle tuotokselle outputArrayVirheenkorjaus Tulosta kohdeSeuraava kohdeEnd Sub

Huomautus: Esimerkissä pakotimme Array: n alkamaan 1: stä (ei 0). Jos matriisi alkaa nollasta, sinun on muokattava koodia hieman.

Huomaa, että muunnamme taulukon sisällön merkkijonoksi. Tarvittaessa voit muuntaa merkkijonot takaisin kokonaisluvuiksi, kun prosessi on valmis.

wave wave wave wave wave