VBA - Odstranite podvojene podatke iz matrike

Ta vadnica vas bo naučila, kako odstraniti dvojnike iz niza v VBA.

Odstranite podvojene datoteke

Najlažji način za odstranitev dvojnikov iz matrike VBA je, da vrednosti matrike dodelite zbirki VBA in nato vrednosti posredujete nazaj v matriko. Zbirke ne dovoljujejo podvojenih vrednosti, zato lahko z zbirko dvojnike odstranimo iz matrike. Za to nalogo smo ustvarili funkcijo:

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 Funkcija ArrayRemoveDups (MyArray As Variant) Kot VariantZatemni nFirst As Long, nLast As Long, i As LongZatemni element kot nizDim arrTemp () Kot nizDim Coll kot nova kolekcija"Pridobite prva in zadnja mesta matrikenFirst = LBound (MyArray)nLast = UBound (MyArray)ReDim arrTemp (nFirst To nLast)'Pretvori niz v nizZa i = nPrvi do nZadnjiarrTemp (i) = CStr (MyArray (i))Naprej i„Naseli začasno zbirkoOn Napaka Nadaljuj NaprejZa i = nPrvi do nZadnjiColl.Ad arrTemp (i), arrTemp (i)Naprej iNapaka JasnoPri napaki Pojdi na 0'Spremeni velikost matrikenLast = Coll.Count + nFirst - 1ReDim arrTemp (nFirst To nLast)'Niz populacijeZa i = nPrvi do nZadnjiarrTemp (i) = Coll (i - nFirst + 1)Naprej i'Izhodni nizArrayRemoveDups = arrTempKončana funkcijaSub ArrTest ()Zatemni imena imen (1 do 4) kot nizZatemni izhodArray () kot nizDim i As LongZatemni element kot varianto'Nastavite začetne vrednosti matrikestrNames (1) = "Shelly"strNames (2) = "Steve"strNames (3) = "Neema"strNames (4) = "Steve"'Funkcija Dup CalloutputArray = ArrayRemoveDups (imena str)'Izhodne vrednosti v takojšnje okno (CTRL + G)Za vsak element v outputArrayOdpravljanje napak. Natisni elementNaslednji elementEnd Sub

Opomba: V primeru smo prisilili naš niz, da se začne pri 1 (ne 0). Če se vaša matrika začne pri 0, boste morali kodo nekoliko spremeniti.

Upoštevajte, da vsebino matrike pretvorimo v niz. Po potrebi lahko nize po končanem postopku pretvorite nazaj v cela števila.

wave wave wave wave wave