Ainutlaatuisten arvojen etsiminen VBA: n avulla Microsoft Excelissä

Anonim

Tässä artikkelissa luomme mukautetun toiminnon löytääksesi yksilöllisiä arvoja määritetystä alueesta.

Tämän esimerkin raakatiedot koostuvat maan nimen kaksoiskappaleista alueella A8: A21.

Looginen selitys

Olemme luoneet mukautetun toiminnon "UniqueItem" poimiaksesi ainutlaatuiset arvot alueelta. Tämä toiminto syöttää kaksi parametria. Ensimmäinen parametri on alue, joka koostuu päällekkäisistä tiedoista, ja toinen parametri määrittää yksilöllisen arvon indeksinumeron yksilöllisessä kokoelmassa.

Tämä toiminto palauttaa alueen yksilöllisen arvon indeksinumeron perusteella. Toinen parametri on valinnainen parametri, jos toista parametria ei ole määritetty, funktio palauttaa määritetyn alueen yksilöllisen arvon määrän.

Jos toiselle parametrille määritetty arvo on suurempi kuin alueen yksilöllisten arvojen määrä, funktio palauttaa viimeisen ainutlaatuisen arvon.

Koodin selitys

Virhe Jatka seuraavaksi

Jokaiselle InputRange -solun arvolle

CUnique.Ad CellValue.Value, CStr (CellValue.Value)

Seuraava

Virhe GoTo 0

Yllä olevaa koodia käytetään kokoelmaobjektin luomiseen, joka sisältää yksilöllisen arvon määritetystä alueesta. Virheen päällä -lausekkeita käytetään virheiden käsittelyyn, koska kun koodi yrittää lisätä päällekkäisiä arvoja kokoelmaan, kokoelma tuottaa virheen.

Seuraa koodia alla

 Vaihtoehto Selkeä toiminto UniqueItem (InputRange As Range, Optional ItemNo As Integer = 0) Vaihtoehtona Dim CellValue As Range Dim CUnique New Collection Dim UCount Integer On Error Jatka seuraavaksi '' Ainutlaatuisten kohteiden lisääminen kokoelmaan määritellyltä alueelta jokaiselle InputRange CUnique -solulle .Add CellValue.Value, CStr (CellValue.Value) Next On Error GoTo 0 'Getting count of unique item in the collection UCount = CUnique.Count If ItemNo = 0 then' Returning count of unique item UniqueItem = UCount ElseIf ItemNo <= UCount Sitten 'Yksilöllisen arvon palauttaminen tuotenumeron perusteella UniqueItem = CUnique (ItemNo) Else' Palauttaa viimeisen ainutlaatuisen arvon UniqueItem = CUnique (UCount) End If End -funktio 

Jos pidit tästä blogista, jaa se ystävillesi Facebookissa. Voit myös seurata meitä Twitterissä ja Facebookissa.

Haluaisimme kuulla sinusta, kerro meille, kuinka voimme parantaa työtämme ja parantaa sitä sinulle. Kirjoita meille sähköpostitse