Aiemmissa artikkeleissamme olemme oppineet poimimaan ainutlaatuisia arvoja alueelta käyttämällä erilaisia Excel -toimintoja. Vaikka ne toimivat fantastisesti, mutta ovat myös monimutkaisia, tätä ei voi kiistää. Jos poistat ainutlaatuisia arvoja usein, nämä kaavat voivat väsyttää sinua. Ne myös tekevät tiedostosta raskaan ja hitaan.
Joten tässä artikkelissa opimme luomaan käyttäjän määrittämän funktion, joka ottaa alueen argumentiksi ja palauttaa vain yksilölliset arvot tältä alueelta. Voit kopioida koodin suoraan tiedostoosi ja aloittaa sen käytön heti.
Ainutlaatuisen toiminnon VBA -koodi:
Toiminto UNIQUES (rng As Range) Vaihtoehtona () Dim -luettelo Uutena kokoelmana Dim Ulist () Varianttina 'Jokaisen rng -arvon lisääminen kokoelmaan. Virheessä Jatka seuraavaksi jokaiselle arvon rng 'tässä arvo ja avain ovat samat. Kokoelma ei salli päällekkäisiä avaimia, joten vain yksilölliset arvot säilyvät. Lisää CStr (Arvo), CStr (Arvo) Seuraava On Error GoTo 0 'Määritä taulukon pituus yksilöllisten arvojen määrään. Koska taulukko alkaa nollasta, vähennämme 1. ReDim Ulist (list.Count - 1, 0) 'Ainutlaatuisen arvon lisääminen taulukkoon. Jos i = 0 Luettelo.Luku - 1 Ulist (i, 0) = lista (i + 1) Seuraava 'Taulukon tulostaminen UNIQUES = Ulist End Function
Kopioi koodi Excelin VB -editoriin.
UNIQUE -toiminnon käyttäminen
Yllä oleva toiminto on käyttäjän määrittämä monisoluinen matriisitoiminto. Se tarkoittaa, että sinun on valittava alue, johon haluat tulostaa ainutlaatuisen luettelon, kirjoittaa kaava ja paina näppäinyhdistelmää CTRL+VAIHTO+ENTER.
Yllä olevassa gifissä meillä on luettelo maista. Nyt luettelossa on monia päällekkäisiä maita. Haluamme saada luettelon vain ainutlaatuisista maista.
Voit tehdä tämän valitsemalla alueen, johon haluat yksilöllisen luettelon. Kirjoita nyt tämä kaava:
= YKSIKKÖT (A2: B7) |
Paina näppäinyhdistelmää CTRL+VAIHTO+ENTER. Ja se on tehty. Kaikki yksilölliset arvot luetellaan valitulla alueella.
Huomautus:Jos valitsemasi alue on suurempi kuin yksilöllinen arvo, niissä näkyy virhe #N/A. Voit käyttää sitä osoituksena ainutlaatuisten arvojen lopettamisesta. Jos et näe numeroa #N/A luettelon lopussa, se tarkoittaa, että yksilöllisiä arvoja voi olla enemmän.
Koodin selitys
Olen käyttänyt kahta VBA: n pääkäsitettä tässä UD -toiminnossa. Kokoelmat ja käyttäjän määrittämä ryhmätoiminto. Ensinnäkin olemme käyttäneet kokoelmaa saadaksemme yksilölliset arvot annetulta alueelta.
jokaiselle arvon rng -luettelolle. Lisää CStr (arvo), CStr (arvo) Seuraava
Koska emme voi tulostaa kokoelmaa arkille, siirrämme sen toiseen UList -taulukkoon.
for i = 0 To list. Count - 1 Ulist (i, 0) = list (i + 1) Next next
Huomautus:VBA -taulukon indeksointi alkaa nollasta ja kokoelman indeksointi alkaa yhdestä. Tästä syystä olemme vähentäneet yhden taulukon silmukalle ja lisänneet yhden luettelokokoelman indeksointiin.
Lopulta olemme tulostaneet tämän taulukon arkkiin.
On ainutlaatuinen toiminto, joka ei ole käytettävissä Excel 2016: ssa ja joka tekee saman. Tämä toiminto on käytettävissä Excel 2019: ssä. Vain sisäpiiriohjelman jäsenillä on pääsy kyseiseen toimintoon. Käyttämällä tätä tekniikkaa voit osoittaa yrityksesi olevan MS: n edellä.
Joten kyllä kaverit, tällä tavalla voit luoda toiminnon, joka poimii ainutlaatuisia arvoja yksinkertaisesti. Toivottavasti olin tarpeeksi selittävä saadakseni tämän ymmärtämään. Jos sinulla on erityisiä kysymyksiä tästä tai muista excel VBA -kysymyksistä, kysy ne alla olevasta kommenttiosasta.
Lataa työtiedosto napsauttamalla alla olevaa linkkiä:
UNIQUES -toimintoVBA -kokoelmien käyttäminen Excelissä | Opi käyttämään kokoelmaa, joka voi auttaa sinua saamaan ainutlaatuisia arvoja.
Luo VBA -toiminto palautusryhmään | Opi luomaan käyttäjän määrittämä taulukkofunktio, joka palauttaa taulukon.
Taulukot Excel Formulissa | Opi mitä taulukot ovat Excelissä.
Käyttäjän määrittämän toiminnon luominen VBA: n kautta | Opi luomaan käyttäjän määrittämiä toimintoja Excelissä
Käyttäjän määrittämän toiminnon (UDF) käyttäminen toisesta työkirjasta käyttämällä VBA: ta Microsoft Excelissä | Käytä käyttäjän määrittämää toimintoa toisessa Excelin työkirjassa
Palauta virhearvot käyttäjän määrittämistä funktioista VBA: n avulla Microsoft Excelissä | Opi kuinka voit palauttaa virhearvot käyttäjän määrittämästä funktiosta