Funkcija | Pod
Razlika između a funkcija i a pod u Excel VBA je da funkcija može vratiti vrijednost, dok sub ne može. Funkcije i pretplatnici postaju vrlo korisni kako se veličina programa povećava.
Funkcija
Ako želite da Excel VBA izvrši zadatak koji vraća rezultat, možete koristiti funkciju. Stavite funkciju u modul (U uređivaču Visual Basic kliknite Umetni, Modul). Na primjer, funkcija s imenom Area.
Područje funkcija (x kao dvostruko, y kao dvostruko) kao dvostruko
Površina = x * y
Završna funkcija
Objašnjenje: Ova funkcija ima dva argumenta (tipa Double) i tip povratka (dio nakon As također tipa Double). Možete koristiti naziv funkcije (Područje) u svom kodu da naznačite koji rezultat želite vratiti (ovdje x * y).
Sada se možete pozvati na ovu funkciju (drugim riječima pozvati funkciju) s nekog drugog mjesta u kodu jednostavnim korištenjem naziva funkcije i davanjem vrijednosti za svaki argument.
Postavite naredbeni gumb na radni list i dodajte sljedeće retke koda:
Dim z As Double
z = Površina (3, 5) + 2
MsgBox z
Objašnjenje: Funkcija vraća vrijednost pa ovu vrijednost morate 'uloviti' u svoj kôd. Za to možete koristiti drugu varijablu (z). Zatim ovoj varijabli možete dodati još jednu vrijednost (ako želite). Na kraju, prikažite vrijednost pomoću MsgBox -a.
Rezultat kada pritisnete naredbeni gumb na listu:
Pod
Ako želite da Excel VBA izvrši neke radnje, možete koristiti podmeni. Postavite podmeni u modul (U uređivaču programa Visual Basic kliknite Umetni, modul). Na primjer, podmeni s imenom Area.
Podpodručje (x kao dvostruko, y kao dvostruko)
MsgBox x * y
Kraj podm
Objašnjenje: Ova podmeni ima dva argumenta (tipa Double). Nema vrstu povrata! Možete se pozvati na ovu podpoziv (nazvati pod) s nekog drugog mjesta u svom kodu jednostavnim korištenjem naziva podloške i davanjem vrijednosti za svaki argument.
Postavite naredbeni gumb na radni list i dodajte sljedeći kodni redak:
Područje 3, 5
Rezultat kada pritisnete naredbeni gumb na listu:
Vidite li razliku između funkcije i podloge? Funkcija je vratila vrijednost 15. Ovom smo rezultatu dodali vrijednost 2 i prikazali konačni rezultat. Kad smo pozvali podlogu nismo imali više kontrolu nad rezultatom (15) jer pod ne može vratiti vrijednost!