U našim prethodnim člancima naučili smo kako izvući jedinstvene vrijednosti iz raspona pomoću kombinacije različitih Excel funkcija. Iako djeluju fantastično, ali su i složeni, to se ne može poreći. Ako često izvlačite jedinstvene vrijednosti, te formule vas mogu umoriti. Oni također čine datoteku teškom i sporom.
Dakle, u ovom ćemo članku naučiti kako stvoriti korisnički definiranu funkciju koja uzima raspon kao argument i vraća samo jedinstvene vrijednosti iz tog raspona. Kôd možete izravno kopirati u svoju datoteku i odmah ga početi koristiti.
VBA kôd za jedinstvenu funkciju:
Funkcija UNIQUES (rng kao raspon) kao varijanta () Dim lista kao nova kolekcija Dim Ulist () kao varijanta 'Dodavanje svake vrijednosti rng u zbirku. Uključeno Greška Nastavi sljedeće Za svaku vrijednost Ovdje u rng 'vrijednost i ključ su isti. Zbirka ne dopušta dvostruke ključeve pa će ostati samo jedinstvene vrijednosti. list.Add CStr (Value), CStr (Value) Next On Error GoTo 0 'Definiranje duljine niza prema broju jedinstvenih vrijednosti. Budući da niz počinje od 0, oduzimamo 1. ReDim Ulist (list.Count - 1, 0) 'Dodavanje jedinstvene vrijednosti nizu. Za i = 0 Na popis.Broj - 1 Ulist (i, 0) = popis (i + 1) Dalje 'Ispis niza UNIQUES = Ulist End Funkcija
Kopirajte kôd u VB editor programa Excel.
Korištenje UNIQUE funkcije
Gornja funkcija je korisnički definirana funkcija više ćelija. To znači da morate odabrati raspon u kojem želite ispisati jedinstveni popis, zatim napisati formulu i pritisnuti kombinaciju tipki CTRL+SHIFT+ENTER.
Na gornjem gifu imamo popis zemalja. Sada je na popisu mnogo dupliciranih zemalja. Želimo dobiti popis samo jedinstvenih zemalja.
Da biste to učinili, odaberite raspon za koji želite jedinstveni popis. Sada napišite ovu formulu:
= JEDINSTVENE (A2: B7) |
Pritisnite kombinaciju tipki CTRL+SHIFT+ENTER. I to je učinjeno. Sve jedinstvene vrijednosti navedene su u odabranom rasponu.
Bilješka:Ako je raspon koji ste odabrali veći od jedinstvene vrijednosti, prikazat će #grešku N/A. Možete ga koristiti kao pokazatelj završetka jedinstvenih vrijednosti. Ako ne vidite #N/A na kraju popisa, to znači da može postojati više jedinstvenih vrijednosti.
Objašnjenje koda
Koristio sam dva glavna koncepta VBA u ovoj UD funkciji. Zbirke i korisnički definirana funkcija niza. Prvo smo koristili zbirku da bismo dobili jedinstvene vrijednosti iz navedenog raspona.
za svaku vrijednost na popisu rng. Sljedeće dodajte CStr (vrijednost), CStr (vrijednost)
Budući da ne možemo ispisati zbirku na listu, prenijeli smo je na drugi UList polja.
za i = 0 Na popis.Broj - 1 Ulist (i, 0) = popis (i + 1) Sljedeći sljedeći
Bilješka:Indeksiranje VBA polja počinje od 0, a indeksiranje zbirke počinje od 1. Zato smo oduzeli 1 za niz u for petlji i dodali 1 indeksiranju zbirke popisa.
Na kraju smo taj niz ispisali na list.
Postoji JEDINSTVENA funkcija koja nije dostupna za Excel 2016 koja radi istu stvar. Ta je funkcija dostupna u programu Excel 2019. Samo članovi unutarnjeg programa imaju pristup toj funkciji. Pomoću ove tehnike možete se pokazati u uredu ispred MS -a.
Pa da, dečki, ovako možete stvoriti funkciju koja jednostavno izvlači jedinstvene vrijednosti. Nadam se da sam vam objasnio dovoljno da ovo shvatite. Ako imate bilo kakvih posebnih pitanja vezanih za ovo ili bilo koje drugo pitanje vezano za Excel VBA, postavite ga u odjeljku komentara u nastavku.
Kliknite donju vezu za preuzimanje radne datoteke:
JEDINSTVENA funkcijaKako koristiti VBA zbirke u Excelu | Naučite koristiti zbirku koja vam može pomoći da steknete jedinstvene vrijednosti.
Izradite VBA funkciju za vraćanje niza | Saznajte kako stvoriti korisnički definiranu funkciju niza koja vraća polje.
Nizovi u Excelu Formul | Saznajte koji su nizovi u Excelu.
Kako stvoriti korisnički definiranu funkciju putem VBA | Saznajte kako stvoriti korisnički definirane funkcije u Excelu
Korištenje korisnički definirane funkcije (UDF) iz druge radne knjige pomoću VBA u programu Microsoft Excel | Upotrijebite korisnički definiranu funkciju u drugoj radnoj knjizi programa Excel
Vraćanje vrijednosti pogrešaka iz korisnički definiranih funkcija pomoću VBA u Microsoft Excelu | Saznajte kako možete vratiti vrijednosti pogreške iz korisnički definirane funkcije