Iako Excel već ima stotine ugrađenih funkcija kao što su SUM, VLOOKUP, LEFT itd., Dostupne ugrađene funkcije obično nisu dovoljne za obavljanje prilično složenih zadataka. Međutim, ne brinite jer samo trebate sami stvoriti potrebne funkcije.
Korak
Korak 1. Izradite novu radnu knjigu ili otvorite radnu knjigu koju želite obraditi pomoću Korisnički definiranih funkcija (UDF)
Korak 2. Otvorite Visual Basic Editor u programu Microsoft Excel putem Tools-> Macro-> Visual Basic Editor (ili pritisnite prečac Alt+F11)
Korak 3. Pritisnite gumb Modul za dodavanje novog modula na radni list
UDF možete stvoriti u radnoj knjizi bez dodavanja novog modula, ali funkcija neće raditi na drugim radnim listovima u istoj radnoj knjizi.
Korak 4. Izradite "glavu" ili "prototip" svoje funkcije
Prototip funkcije mora slijediti sljedeću strukturu:
javna funkcija "Naziv funkcije" (parametar1 Kao tip1, parametar2 Kao tip2) Kao Vrsta rezultata.
Prototipovi mogu imati što je moguće više funkcija, a njihove vrste mogu biti sve osnovne vrste podataka ili Excelove vrste objekata u obliku raspona. Parametre možete smatrati "operantima" (operatorima) na koje će funkcija djelovati. Na primjer, kada napišete SIN (45) da biste izračunali sinus od 45 stupnjeva, broj 45 će se uzeti kao parametar. Zatim će kod funkcije koristiti te vrijednosti za izvođenje izračuna i prikaz rezultata.
Korak 5. Dodajte kod funkcije kako biste bili sigurni da: 1) koristite vrijednost koju daje parametar; 2) proslijedite rezultat imenu funkcije; i 3) zatvorite funkciju rečenicom "funkcija kraja". Učenje programiranja na VBA ili na bilo kojem drugom jeziku oduzima puno vremena i detaljnih uputstava. Srećom, ove funkcije obično imaju male blokove koda i ne koriste mnogo značajke programskog jezika. Evo nekih elemenata jezika VBA koji se mogu koristiti:
- Blok If (if), koji vam omogućuje izvršavanje dijela koda samo ako je uvjet ispunjen. Kao primjer:
- . Možete izostaviti ključnu riječ Else zajedno s drugim dijelom koda jer nije obavezna.
- Blok Do (do) koji izvršava dio koda Dok ili Do kada ili dok uvjet nije ispunjen. Kao primjer:
- . Također imajte na umu drugi redak koji "deklarira" varijablu. U svoj kôd možete dodati varijable za kasniju upotrebu. Varijable djeluju kao privremene vrijednosti u kodu. Na kraju, smatrajte da je deklaracija funkcije BOOLEAN, što je tip podataka koji dopušta samo TRUE ili FALSE vrijednosti. Ova metoda određivanja prostih brojeva daleko je od optimalne, ali kôd je napisan tako da ga je lako čitati.
- Za blok (to), koji izvršava određenu količinu koda. Kao primjer:
- Konstantna vrijednost koja se upisuje izravno u formulu ćelije. U tom slučaju tekst (niz) mora biti naveden pod navodnicima.
- Reference stanica, na primjer B6 ili raspon poput A1: C3 (parametar mora biti tip podataka "Raspon")
-
Druga funkcija koja je zatvorena u vašoj funkciji (vaša funkcija može biti zatvorena i u drugoj funkciji), na primjer: = faktorska (MAX (D6: D8))
Korak 7. Provjerite jesu li rezultati točni
Upotrijebite ga nekoliko puta kako biste bili sigurni da funkcija može ispravno rukovati različitim vrijednostima parametara:
Savjeti
- Prilikom pisanja blokova koda u kontrolnim strukturama kao što su If, For, Do itd., Pazite da uvučete (malo umetnete lijevu granicu retka unutra) kodni blok pritiskom na razmaknicu nekoliko puta ili tabulatorom. Tako će kôd biti lakše razumljiv, a greške će biti mnogo lakše pronaći. Osim toga, povećanje funkcionalnosti postaje lakše napraviti.
- Ako ne znate napisati kôd za funkcije, pročitajte članak Kako napisati jednostavan makro u programu Microsoft Excel.
- Ponekad funkcijama nisu potrebni svi parametri za izračun rezultata. U tom slučaju možete upotrijebiti ključnu riječ Optional prije naziva parametra u zaglavlju funkcije. Možete koristiti funkciju IsMissing (ime_parametra) u svom kodu da biste utvrdili je li parametru dodijeljena vrijednost ili ne.
- Upotrijebite neiskorištena imena kao funkcije u Excelu kako se nijedna funkcija ne bi prebrisala i izbrisala.
- Excel ima mnoge ugrađene funkcije i većina izračuna može se izvršiti pomoću ovih ugrađenih funkcija, pojedinačno ili sve odjednom. Prije nego što se sami počnete kodirati, provjerite popis dostupnih funkcija. Izvođenje se može izvršiti brže ako koristite ugrađene funkcije.
Upozorenje
- Iz sigurnosnih razloga mnogi ljudi onemogućuju makronaredbe. Obavijestite primatelje radne knjige da poslana radna knjiga ima makronaredbe i da te makronaredbe neće naštetiti njihovim računalima.
- Funkcija korištena u ovom članku nije najbolji način za rješavanje povezanog problema. Primjer se koristi za objašnjenje uporabe struktura upravljanja jezikom.
- VBA, kao i drugi jezici, ima još nekoliko kontrolnih struktura osim Do, If i For. Ovdje opisana struktura samo opisuje što se može učiniti u izvornom kodu funkcije. Na internetu postoji mnogo vodiča koji vam mogu pomoći da naučite VBA.
Rezultat tečaja javne funkcije (kao cjelobrojna vrijednost) Kao niz
Ako je vrijednost> = 5 Tada
Rezultati tečaja = "Prihvaćeno"
Drugo
Rezultati tečaja = "Odbijen"
Završi ako
Završna funkcija
Uočite elemente u if kodu bloka:
IF uvjet THEN code OSTALI kod END END IF
Javna funkcija BilPrima (vrijednost kao cijeli broj) Kao Booleova
Dim i Kao cijeli broj
i = 2
BilPrima = Istina
Čini
Ako je vrijednost / i = Int (vrijednost / i) Tada
BilPrima = Netočno
Završi ako
i = i + 1
Petlja Dok je <vrijednost And NumberPrima = True
Završna funkcija
Ponovno pogledajte elemente:
UČINITE šifru LOOP WHILE/DO uvjeta
Faktor javne funkcije (vrijednost kao cijeli broj) koliko je dugo
Zatamnjeni rezultati sve dok
Dim i Kao cijeli broj
Ako je vrijednost = 0 Tada
rezultat = 1
Ostala vrijednost = 1 Zatim
rezultat = 1
Drugo
rezultat = 1
Za i = 1 Za vrijednost
rezultat = rezultat * i
Sljedeći
Završi ako
Faktorijal = rezultat
Završna funkcija
Ponovno pogledajte elemente:
ZA varijablu = donja granica do gornja granica koda SLJEDEĆA
. Također imajte na umu dodatni element ElseIf u naredbi If, koji vam omogućuje da dodate više opcija kodu koji se izvršava. Na kraju, razmotrite funkciju „rezultat“i varijablu deklariranu kao Long. Dugi tip podataka dopušta mnogo veće vrijednosti od Integer.
Dolje je prikazan kôd funkcije koja male brojeve pretvara u riječi.
Korak 6. Vratite se u radnu knjigu i upotrijebite funkciju upisujući simbol "jednako" (=) iza kojeg slijedi naziv funkcije u ćeliji
Upišite zagrade (“(“) nakon naziva funkcije, koristeći znak koma za odvajanje parametara i završavanje zatvaranjem zagrada (“)”). Kao primjer:
= BrojToLetter (A4)
. Također možete koristiti domaće formule tako da ih tražite u kategorijama Korisnik definiran unutar opcije Umetanje formule. Samo pritisnete gumb Fx lijevo od trake s formulama. U funkcijama postoje tri vrste oblika parametara: