Sadržaj
Iako Excel ima mnogo, vjerojatno stotine ugrađenih funkcija poput SUM, VLOOKUP, LIJEVO i tako dalje, kad počnete koristiti Excel za složenije zadatke, često ustanovite da vam treba funkcija koja ne postoji. Ne brinite, nije sve izgubljeno; sve što trebate je stvoriti željenu funkciju.
Koraci
- Stvorite novu radnu knjigu ili otvorite radnu knjigu u kojoj želite koristiti novostvorenu korisnički definiranu funkciju (FDU).
-
Otvorite uređivač Visual Basic koji je ugrađen u Microsoft Excel odlaskom na Alati-> Makro-> Uređivač Visual Basic (ili pritiskom na Alt + F11). -
Dodajte novi modul u svoju radnu knjigu klikom na naznačeni gumb. Možete stvoriti korisnički definiranu funkciju na samom radnom listu bez dodavanja novog modula, ali to će vam onemogućiti upotrebu na drugim radnim listovima u istoj radnoj knjizi. -
Stvorite "zaglavlje" ili "prototip" svoje funkcije. Morate imati sljedeću strukturu: javna funkcija TheNameOfYourFunction (param1 Kao tip1, param2 Kao tip2) Kao returnType Parametara može biti onoliko koliko želite, a njihov tip može biti bilo koji od osnovnih tipova podataka ili vrsta objekata Excel kao što je Raspon. Parametre možete smatrati "operandima" na koje će vaša funkcija djelovati. Na primjer, kada kažete SIN (45) za izračun sinusa od 45 stupnjeva, 45 će se uzeti kao parametar. Zatim će vaš funkcijski kôd upotrijebiti ovu vrijednost za izvođenje izračuna i prikazivanje rezultata. - Dodajte kôd funkcije, pazeći: 1) koristiti vrijednosti predviđene parametrima; 2) dodijeliti rezultat imenu funkcije; i 3) zatvorite funkciju s "završnom funkcijom". Naučavanje programiranja na VBA ili bilo kojem drugom jeziku može potrajati i zahtijevati detaljan vodič. Međutim, funkcije često imaju male blokove koda i koriste malo jezičnih resursa.Najkorisniji elementi jezika VBA su:
- Gradska četvrt, kvart Ako, koji vam omogućuje pokretanje dijela koda samo ako je ispunjen uvjet. Na primjer:
Rezultat predmeta javne funkcije (mreža kao cjelina) kao niz
Ako je ocjena> = 5 Tada
CourseResult = "Odobreno"
Drugo
CourseResult = "Odbijeno"
Završi ako
Krajnja funkcija
Primijetite elemente u bloku koda Ako:IF uvjet THEN kod ELSE kod END IF. Ključna riječ Drugo zajedno s drugim dijelom koda nisu obvezni.
- Gradska četvrt, kvart Od, koji izvršava dio koda Dok (dok) ili Do (dok) nije ispunjen uvjet. Na primjer:
Javna funkcija IsPrime (vrijednost As Integer) Kao Boolean
Dim i kao cjelovito
i = 2
IsPrime = True
Od
Ako je vrijednost / i = Int (vrijednost / i) Tada
IsPrime = False
Završi ako
i = i + 1
Loop while i <value And IsPrime = True
Krajnja funkcija
Ponovno pogledajte elemente:DOZVOLITE LOOP dok je stanje / DO. Također imajte na umu drugi redak u kojem je varijabla "deklarirana". U svoj kod možete dodati varijable kako biste ih kasnije mogli koristiti. Varijable djeluju kao privremene vrijednosti unutar koda. Na kraju, pogledajte deklaraciju funkcije kao BOOLEAN, koja je vrsta podataka koja dopušta samo vrijednosti TRUE i FALSE. Ova metoda utvrđivanja je li broj prost nije idealna, ali radije bih je ostavio da olakša čitanje koda.
- Gradska četvrt, kvart Za, koji izvršava komad koda određeni broj puta. Na primjer:
Javna funkcija Factorial (vrijednost As Integer) As Long
Nejasni rezultat Kao dugo
Dim i kao cjelovito
Ako je vrijednost = 0 Tada
rezultat = 1
ElseIf vrijednost = 1 Tada
rezultat = 1
Drugo
rezultat = 1
Za i = 1 Vrijednost
rezultat = rezultat * i
Sljedeći
Završi ako
Factorial = rezultat
Krajnja funkcija
Ponovno pogledajte elemente:ZA varijabla = donja granica DO kod gornje granice DALJE. Također imajte na umu element Inače dodaje se u izjavi Ako, koji vam omogućuje dodavanje više opcija za izvršavanje koda. Na kraju, pogledajte deklaraciju funkcije i varijablu "rezultat" kao Dugo. Vrsta podataka Dugo omogućuje mnogo veće vrijednosti od 'Integer'.
Ispod je kod funkcije koja pretvara brojeve u riječi.
- Gradska četvrt, kvart Ako, koji vam omogućuje pokretanje dijela koda samo ako je ispunjen uvjet. Na primjer:
- Vratite se svojoj radnoj knjižici i upotrijebite funkciju pokretanjem sadržaja ćelije s jednak nakon čega slijedi ime vaše uloge. U naziv funkcije dodajte početnu zagradu, parametre odvojene znakom zarez i konačna zatvarajuća zagrada. Na primjer:= NumberToLetters (A4) Možete koristiti i svoju korisnički definiranu formulu tako što ćete je potražiti u kategoriji Korisnik definiran u čarobnjaku za unos formule. Samo kliknite gumb Fx koji se nalaze lijevo od trake formule. Parametri mogu biti tri vrste:
- Konstantne vrijednosti unesene izravno u ćelijsku formulu. U ovom slučaju nizovi moraju biti navedeni u navodnicima.
- Reference ćelija poput B6 ili intervalima poput A1: C3 (parametar mora biti tipa Pauza"")
- Ostale funkcije raspoređene unutar vaše funkcije (vaša se funkcija također može grupirati u okviru ostalih funkcija). Odnosno: = Faktorski (MAX (D6: D8))
- Provjerite je li rezultat u redu nakon upotrebe funkcije nekoliko puta, osigurajte da pravilno obrađuje različite vrijednosti parametara:
Savjeti
- Kad god napišete blok koda unutar kontrolne strukture kao što je If, For, Do itd., Ne zaboravite uvući blok pomoću praznih mjesta ili kartica (stil uvlačenja ovisi o vama). Na taj će način vaš kôd biti lakše razumjeti i bit će puno lakše otkriti pogreške i poboljšati kôd.
- Excel ima mnogo ugrađenih funkcija i većina izračuna može se izvršiti pomoću njih samih ili u kombinaciji. Pretražite popis dostupnih funkcija prije pokretanja vlastitog koda. Izvršenje može biti brže ako koristite ugrađene funkcije.
- Ponekad funkcija možda neće trebati sve parametre za izračunavanje rezultata. U tom slučaju možete upotrijebiti ključnu riječ Neobvezno prije imena parametra u zaglavlju funkcije. Možete koristiti IsMissing (ime_parametara) unutar koda kako bi se utvrdilo je li vrijednost dodijeljena parametru ili nije.
- Ako ne znate kako napisati kôd funkcije, pročitajte Kako napisati jednostavnu makronaredbu u programu Microsoft Excel.
- Upotrijebite ime koje još nije definirano kao ime funkcije u programu Excel ili ćete u konačnici moći koristiti samo jednu od funkcija.
Upozorenja
- Zbog sigurnosnih mjera neki ljudi mogu onemogućiti makronaredbe. Obavijestite svoje kolege da knjiga koju šaljete sadrži makronaredbe i da joj se može vjerovati jer neće oštetiti vaša računala.
- Funkcije korištene u ovom članku nisu najbolji način za rješavanje spomenutih problema. Upotrebljavani su samo za objašnjenje upotrebe struktura za kontrolu jezika.
- VBA, kao i bilo koji drugi jezik, ima nekoliko drugih upravljačkih struktura osim Do, If i For. Oni su ovdje objašnjeni samo kako bi razjasnili što se može učiniti unutar izvornog koda funkcije. Dostupni su mnogi mrežni vodiči na kojima možete naučiti VBA.