Në programimin VBA, një funksion kthen një vlerë. Ju mund të ekzekutoni procedurat e funksionit dhe të telefononi funksionin në Excel 2016. Funksionet, ndryshe nga procedurat nën, mund të ekzekutohen vetëm në dy mënyra:
Provoni këtë funksion të thjeshtë. Futeni atë në një modul VBA:
Funksioni CubeRoot (numri)
CubeRoot = numri ^ (1/3)
Funksioni i Fundit
Ky funksion është mjaft i mprehtë; ai thjesht llogarit rrënjën kubike të numrit që i është dhënë si argument. Megjithatë, ai ofron një pikënisje për të kuptuar funksionet. Ai gjithashtu ilustron një koncept të rëndësishëm për funksionet: si të ktheni vlerën. (Ju mbani mend që një funksion kthen një vlerë, apo jo?)
Vini re se rreshti i vetëm i kodit që përbën këtë procedurë të funksionit kryen një llogaritje. Rezultati i matematikës (numri në fuqinë 1/3) i caktohet ndryshores CubeRoot. Jo rastësisht, CubeRoot është gjithashtu emri i funksionit. Për t'i treguar funksionit se çfarë vlere duhet të kthejë, ju ia caktoni atë vlerë emrit të funksionit.
Thirrja e funksionit nga një procedurë nën
Për shkak se nuk mund të ekzekutoni një funksion drejtpërdrejt, duhet ta thërrisni atë nga një procedurë tjetër. Futni procedurën e mëposhtme të thjeshtë në të njëjtin modul VBA që përmban funksionin CubeRoot:
Nën CallerSub()
Ans = CubeRoot (125)
MsgBox Përgjigje
Fundi Nën
Kur ekzekutoni procedurën CallerSub, Excel shfaq një kuti mesazhi që përmban vlerën e ndryshores Ans, e cila është 5.
Ja se çfarë po ndodh: Funksioni CubeRoot ekzekutohet dhe merr një argument prej 125. Llogaritja kryhet nga kodi i funksionit (duke përdorur vlerën e kaluar si argument) dhe vlera e kthyer e funksionit i caktohet ndryshores Ans. Funksioni MsgBox më pas shfaq vlerën e ndryshores Ans.
Provoni të ndryshoni argumentin që i është kaluar funksionit CubeRoot dhe ekzekutoni sërish makronë CallerSub. Ajo funksionon ashtu siç duhet - duke supozuar se i jepni funksionit një argument të vlefshëm (një numër pozitiv).
Nga rruga, procedura CallerSub mund të thjeshtohet pak. Ndryshorja Ans nuk kërkohet vërtet nëse kodi juaj do ta përdorë atë variabël më vonë. Ju mund të përdorni këtë deklaratë të vetme për të marrë të njëjtin rezultat:
MsgBox CubeRoot (125)
Thirrja e një funksioni nga një formulë e fletës së punës
Tani është koha për të thirrur këtë procedurë të funksionit VBA nga një formulë e fletës së punës. Aktivizoni një fletë pune në të njëjtin libër pune që mban përkufizimin e funksionit CubeRoot. Pastaj vendosni formulën e mëposhtme në çdo qelizë:
=CubeRoot(1728)
Qeliza shfaq 12, që është me të vërtetë rrënja e kubit e 1728.
Siç mund ta prisni, mund të përdorni një referencë qelize si argument për funksionin CubeRoot. Për shembull, nëse qeliza A1 përmban një vlerë, mund të futni =CubeRoot(A1) . Në këtë rast, funksioni kthen numrin e marrë duke llogaritur rrënjën kubike të vlerës në A1.
Ju mund ta përdorni këtë funksion çdo herë në fletën e punës. Ashtu si funksionet e integruara të Excel-it, funksionet tuaja të personalizuara shfaqen në kutinë e dialogut Insert Function. Klikoni butonin Insert Function toolbar dhe zgjidhni kategorinë User Defined. Kutia e dialogut Insert Function liston funksionin tuaj.

Funksioni CubeRoot shfaqet në kategorinë User Defined të kutisë së dialogut Insert Function.
Nëse dëshironi që kutia e dialogut Insert Function të shfaqë një përshkrim të funksionit, ndiqni këto hapa:
Zgjidhni Zhvillues → Kodi → Makro.
Excel shfaq kutinë e dialogut Macro, por CubeRoot nuk shfaqet në listë. (CubeRoot është një procedurë Funksioni dhe kjo listë tregon vetëm procedurat nën.) Mos u shqetësoni.
Shkruani fjalën CubeRoot në kutinë Macro Name.
Klikoni butonin Options.
Vendosni një përshkrim të funksionit në kutinë e Përshkrimi.
Klikoni OK për të mbyllur kutinë e dialogut të opsioneve makro.
Mbyllni kutinë e dialogut Macro duke klikuar butonin Cancel.
Ky tekst përshkrues tani shfaqet në kutinë e dialogut Insert Function.
Shikoni funksionin CubeRoot që përdoret në formulat e fletëve të punës.
![Si të ekzekutoni procedurat e funksionit VBA në Excel 2016]()
Përdorimi i funksionit CubeRoot në formula.