Kako stvoriti prilagođene Excel funkcije? (s primjerima)
Da bismo stvorili prilagođenu funkciju, trebamo napisati kod za rad vlastitih funkcija, koji se naziva "UDF". Prilagođene funkcije su korisnički definirane funkcije u Excelu, pa za stvaranje tih funkcija morate temeljito znati VBA kodiranje.
![](https://cdn.know-base.net/6401444/excel_custom_functions_create_custom_user_defined_functions.png.webp)
Primjer # 1 - dodajte bilo koja dva broja
Na primjer, ako želite dodati bilo koja dva broja, tada ćemo vam pokazati jednostavnu korisnički definiranu funkciju (UDF).
- Pritisnite Alt + F11 i umetnite modul.
![](https://cdn.know-base.net/6401444/excel_custom_functions_create_custom_user_defined_functions_2.png.webp)
- Napišite modul u modul da biste stvorili prilagođenu funkciju.
Bilo koja prilagođena funkcija trebala bi započeti riječju "Funkcija", iza koje slijedi naziv formule.
![](https://cdn.know-base.net/6401444/excel_custom_functions_create_custom_user_defined_functions_3.png.webp)
Svaka funkcija također ima svoje argumente ili parametre slično prilagođenim funkcijama; moramo definirati te parametre. Budući da dodajemo samo dva broja, definirajmo te parametre i tim varijablama argumenata dodijelimo tipove podataka.
![](https://cdn.know-base.net/6401444/excel_custom_functions_create_custom_user_defined_functions_4.png.webp)
Nakon što su parametri definirani s tipom podataka, moramo definirati i tipove podataka rezultata ishoda. Definirajmo ishod kao vrijednost "Integer".
![](https://cdn.know-base.net/6401444/excel_custom_functions_create_custom_user_defined_functions_5.png.webp)
Unutar ovog "Funkcijskog postupka" napisat ćemo kôd formule.
Kodirati:
Dodavanje funkcije (Num1 kao cjelobrojno, Num2 kao cjelobrojno) Kao cjelobrojno zbrajanje = Num1 + Num2 Krajnja funkcija
To kaže da će rezultat funkcije "Dodavanje" biti zbroj vrijednosti Num1 i Num2.
- Sada se vratite na radni list i unesite bilo koja dva cjelobrojna broja.
![](https://cdn.know-base.net/6401444/excel_custom_functions_create_custom_user_defined_functions_6.png.webp)
- Sad ćemo dodati ova dva broja. Otvorite znak jednakosti i unesite naziv prilagođene funkcije "Dodatak".
![](https://cdn.know-base.net/6401444/excel_custom_functions_create_custom_user_defined_functions_7.png.webp)
Odaberite prvi i drugi broj unosom separatora kao zarez (,).
![](https://cdn.know-base.net/6401444/excel_custom_functions_create_custom_user_defined_functions_8.png.webp)
- Pritisnite tipku enter da biste dobili rezultat.
![](https://cdn.know-base.net/6401444/excel_custom_functions_create_custom_user_defined_functions_9.png.webp)
Vau !!! Kao i funkcija SUM, dobili smo rezultat zbroja dva broja.
Pogledajte ove brojke.
![](https://cdn.know-base.net/6401444/excel_custom_functions_create_custom_user_defined_functions_10.png.webp)
Pokušajte sada dodati ova dva broja.
![](https://cdn.know-base.net/6401444/excel_custom_functions_create_custom_user_defined_functions_11.png.webp)
Vrijednost pogreške dobili smo jer je vrsta podataka argumenata "Num1 & Num2" "Integer", tj. Ova dva argumenta mogu sadržavati vrijednosti između -32767 i 32767, pa će sve više od ovoga uzrokovati ove pogreške.
Pokušajte sada dodati ova dva broja.
![](https://cdn.know-base.net/6401444/excel_custom_functions_create_custom_user_defined_functions_12.png.webp)
Čak će i ovo uzrokovati vrijednost ispod pogreške.
![](https://cdn.know-base.net/6401444/excel_custom_functions_create_custom_user_defined_functions_13.png.webp)
Iako su pojedinačne vrijednosti argumenata unutar ograničenja vrste podataka Integer, ovu pogrešku i dalje imamo, jer je ukupni zbroj tih brojeva veći od cijele granične vrijednosti.
Budući da smo tip rezultata proglasili i kao "cijeli broj", rezultat dodavanja dva broja također bi trebao biti ograničenje cijelog broja.
Primjer # 2 - Dodaj sve neparne brojeve
Excel nema ugrađenu funkciju koja može dodati sve neparne brojeve s popisa brojeva. Ali bez brige, stvorit ćemo prilagođenu excel funkciju koja će to podržati.
![](https://cdn.know-base.net/6401444/excel_custom_functions_create_custom_user_defined_functions_14.png.webp)
Otvorite prozor VBA uređivača i dajte naziv postupku funkcije.
![](https://cdn.know-base.net/6401444/excel_custom_functions_create_custom_user_defined_functions_15.png.webp)
Dajte parametar za ovu funkciju kao "Raspon".
![](https://cdn.know-base.net/6401444/excel_custom_functions_create_custom_user_defined_functions_16.png.webp)
To znači da za ovu funkciju pružamo ulaznu vrijednost za ovu funkciju kao "Raspon" vrijednosti ćelija.
Budući da moramo petlju proći kroz više od jedne ćelije, moramo koristiti petlju "Za svaku" u VBA, pa otvorite petlju "Za svaku".
![](https://cdn.know-base.net/6401444/excel_custom_functions_create_custom_user_defined_functions_17.png.webp)
Unutar ove petlje dodajte donji kod.
Kodirati:
Funkcija AddOdd (Rng As Range) za svaku ćeliju u Rng If cell.Value Mod 2 0 Zatim AddOdd = AddOdd + cell.Value Sljedeća ćelija Kraj Funkcija
Moramo koristiti funkciju “MOD” da testiramo broj. Kad se svaka vrijednost ćelije podijeli s brojem 2, a ostatak nije jednak nuli, tada bi naš kôd trebao dodati sve vrijednosti neparnih brojeva.
Sada se vratite na radni list i otvorite excel prilagođenu funkciju.
![](https://cdn.know-base.net/6401444/excel_custom_functions_create_custom_user_defined_functions_18.png.webp)
Odaberite raspon brojeva od A1 do D8.
![](https://cdn.know-base.net/6401444/excel_custom_functions_create_custom_user_defined_functions_19.png.webp)
Pritisnite tipku Enter da biste dobili rezultat "neparnog broja". "
![](https://cdn.know-base.net/6401444/excel_custom_functions_create_custom_user_defined_functions_20.png.webp)
Dakle, u rasponu od A1 do D8 imamo zbroj neparnih brojeva 84.
Primjer # 3 - Dodaj sve parne brojeve
Slično tome, funkcija u nastavku dodat će sve parne brojeve.
Kodirati:
Funkcija AddEven (Rng As Range) za svaku ćeliju u Rng If cell.Value Mod 2 = 0 Zatim AddEven = AddEven + cell.Value Sljedeća ćelija Kraj Funkcija
Ova će funkcija dodati samo paran broj. U ovom smo slučaju koristili logiku ako je svaka vrijednost ćelije podijeljena s 2, a ostatak je jednak nuli, tada će kôd dodati samo te vrijednosti ćelije.
![](https://cdn.know-base.net/6401444/excel_custom_functions_create_custom_user_defined_functions_21.png.webp)
Ovako, pomoću VBA kodiranja možemo stvoriti vlastite prilagođene funkcije.
Stvari koje treba zapamtiti
- Stvaranje prilagođenih funkcija nije ništa drugo doli korisnički definirane funkcije.
- Da biste stvorili prilagođene funkcije, treba imati znanje o naprednim vještinama kodiranja VBA.
- Tijekom stvaranja prilagođenih excel funkcija, važno je pripaziti na argumente i njihove vrste podataka.