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. Kreirajte novu radnu svesku ili otvorite radnu svesku 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čicu Alt+F11)
Korak 3. Pritisnite dugme Modul da biste dodali novi modul 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. Kreirajte "glavu" ili "prototip" svoje funkcije
Prototip funkcije mora slijediti sljedeću strukturu:
javna funkcija "Naziv funkcije" (parametar1 Kao tip1, parametar2 Kao tip2) Kao Tip rezultata.
Prototipovi mogu imati što više funkcija, a njihovi tipovi mogu biti svi osnovni tipovi podataka ili Excel tipovi 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 stepeni, broj 45 će se uzeti kao parametar. Zatim će kod funkcije koristiti te vrijednosti za izvođenje proračuna i prikaz rezultata.
Korak 5. Dodajte kod funkcije kako biste bili sigurni da: 1) koristite vrijednost datu parametrom; 2) proslijedi rezultat imenu funkcije; i 3) zatvorite funkciju rečenicom "krajnja funkcija". Učenje programa u VBA -i ili na bilo kojem drugom jeziku oduzima puno vremena i detaljnih uputstava. Na sreću, ove funkcije obično imaju male blokove koda i ne koriste mnogo mogućnosti programskog jezika. Evo nekih elemenata VBA jezika 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 While ili Until kada ili dok uvjet nije ispunjen. Kao primjer:
- . Također imajte na umu drugi red 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 se lako čita.
- Za blok (to), koji izvršava određenu količinu koda. Kao primjer:
- Konstantna vrijednost koja se upisuje izravno u formulu ćelije. U ovom slučaju tekst (niz) mora biti naveden pod navodnicima.
- Reference ćelija, 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 tačni
Koristite 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., Vodite računa da uvučete (ubacite lijevu granicu retka malo unutra) kodni blok pritiskom na razmaknicu nekoliko puta ili tabulatorom. Ovo će olakšati razumijevanje koda, 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čunavanje rezultata. U ovom slučaju možete koristiti ključnu riječ Optional prije naziva parametra u zaglavlju funkcije. Možete koristiti funkciju IsMissing (ime_parametra) u svom kodu da odredite 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 proračuna se može izvesti pomoću ovih ugrađenih funkcija, pojedinačno ili sve odjednom. Prije nego počnete sami kodirati, pogledajte popis dostupnih funkcija. Izvršenje se može brže obaviti ako koristite ugrađene funkcije.
Upozorenje
- Iz sigurnosnih razloga mnogi ljudi onemogućuju makroe. Obavezno obavijestite primatelje radne knjige da poslana radna knjiga ima makroe i da ti makroi neće naštetiti njihovim računarima.
- Funkcija korištena u ovom članku nije najbolji način za rješavanje povezanog problema. Primjer se koristi za objašnjenje upotrebe struktura upravljanja jezikom.
- VBA, kao i drugi jezici, ima još nekoliko kontrolnih struktura osim Do, If i For. Ovdje opisana struktura samo opisuje šta se može učiniti u izvornom kodu funkcije. Na internetu postoji mnogo vodiča koji vam mogu pomoći da naučite VBA.
Javna funkcija Rezultat kursa (kao vrijednost cijelog broja) Kao niz
Ako je vrijednost> = 5 Tada
Rezultati kursa = "Prihvaćeno"
Inače
Rezultati kursa = "Odbijeno"
Kraj Ako
Završna funkcija
Obratite pažnju na elemente u if kodu bloka:
IF uvjet THEN code ELSE code END IF
Javna funkcija BilPrima (vrijednost kao cijeli broj) Kao Booleova
Dim i As Integer
i = 2
BilPrima = Istina
Do
Ako je vrijednost / i = Int (vrijednost / i) Tada
BilPrima = Netačno
Kraj Ako
i = i + 1
Petlja Dok je <vrijednost And NumberPrima = True
Završna funkcija
Pogledajte ponovo elemente:
UČINITE šifru LOOP WHILE/UNTIL
Faktor javne funkcije (vrijednost kao cijeli broj) koliko je dugo
Zatamnite rezultate kao dugo
Dim i As Integer
Ako je vrijednost = 0 Tada
rezultat = 1
ElseIf value = 1 Zatim
rezultat = 1
Inače
rezultat = 1
Za i = 1 Za vrijednost
rezultat = rezultat * i
Sljedeći
Kraj Ako
Faktorijal = rezultat
Završna funkcija
Pogledajte ponovo elemente:
ZA varijablu = donja granica do gornja granica koda SLJEDEĆE
. Takođe, imajte na umu dodatni element ElseIf u naredbi If, koji vam omogućava da dodate više opcija kodu koji se izvršava. Na kraju, razmislite o funkciji „result“i varijabli deklariranoj kao Long. Tip podataka Long dopušta mnogo veće vrijednosti od Integer.
Dolje je prikazan kôd funkcije koja pretvara male brojeve u riječi.
Korak 6. Vratite se u radnu knjigu i koristite funkciju upisujući simbol „jednako“(=) iza kojeg slijedi naziv funkcije u ćeliji
Upišite zagrade (“(“) nakon naziva funkcije, koristeći znak koma da biste odvojili parametre i završili zatvaranjem zagrada (“)”). Kao primjer:
= Broj pisma (A4)
. Možete koristiti i domaće formule tako da ih tražite u kategorijama Definisano od strane korisnika unutar opcije Umetanje formule. Samo kliknite na dugme Fx lijevo od trake s formulama. U funkcijama postoje tri vrste oblika parametara: