Sadržaj
Visual Basic za aplikacije (VBA), kao i druge verzije Visual Basica i većine programskih jezika, nudi mogućnost podjele koda na male, nezavisne dijelove. Na taj način program postaje manje kompliciran za čitanje, pisanje i testiranje zbog individualne prirode manjih pogona. Oni su također ponovno upotrebljivi, pa umjesto da piše isti isječak koda svaki put kada program treba izvršiti zadatak, programer može jednostavno pozvati funkciju nekoliko puta. To je samo jedna od značajki koje čine VBA i Visual Basic strukturiranim programskim jezikom.
Dobra je praksa podijeliti kod na (Stockbyte / Stockbyte / Getty Images)
Funkcije nasuprot potprograma
U većini jezika, dijelovi koda se nazivaju funkcija. U VBA su podijeljeni u dva različita tipa: funkcije i potprograme. Obje vrste se pojavljuju i djeluju na sličan način, ali s dvije značajne razlike. Prvo, funkcija je deklarirana s "Function" u definiciji koda i završava s "End Function". Potprogram je deklariran sa "Sub" i završava s "End Sub". Drugo, funkcija vraća vrijednost, dok potprogram ne. Da biste vratili vrijednost u Excel VBA, trebate koristiti funkciju.
Kada moram vratiti vrijednost?
Dobro napisan program koristi funkcije i potprograme za enkapsulaciju podataka i zaštitu od promjena u drugim dijelovima koda. To je, zajedno s olakšavanjem razumijevanja, glavni razlozi za korištenje funkcije koja vraća vrijednost prema potprogramu koji se ne vraća. Varijable unutar funkcije ili potprograma su nevidljive ostatku koda, tako da za korištenje rezultata koda u drugom dijelu programa, funkcija mora vratiti vrijednost pozivatelju. Jedini način da se to učini s potprogramima je da se varijable proglase javnim za cijeli program, zanemarujući načelo enkapsulacije.
Primjer
Primjer funkcije koja vraća vrijednost je ona koja dodaje dva broja i vraća rezultat zbroja. To bi izgledalo ovako: Funkcija MySum (A kao cijeli broj, B kao cijeli broj) MySum = A + B Završna funkcija Izjava "MySum = A + B" ne samo da izračunava rezultat već i stavlja vrijednost u varijablu istog naziva funkcije , što ga čini povratnom vrijednošću. U ovom primjeru pozivanje ove funkcije bilo bi jednostavno kao "Answer = MySum (2.2)", a varijabla Response bi dobila vrijednost 4. Funkcija se može pozvati onoliko puta koliko je potrebno.
Vrijednosti povrata u Excelu VBA
Iako Excel ima mnogo izvornih matematičkih i financijskih funkcija, možda ćete morati napisati vlastitu metodu za bolju fleksibilnost i snagu. Pisanje same funkcije omogućuje vam i izradu obrazaca s pojednostavljenim objektima za unos podataka. Možete napisati funkcije koje vraćaju vrijednost i umetnuti ih u makroe.
Na taj način možete dizajnirati složene i moćne aplikacije bez potrebe za izgradnjom programa od početka s programskim jezikom poput C #. To vam daje snagu izvornih funkcija programa Excel i mogućnost kontrole vlastitih prilagođenih funkcija koje vraćaju vrijednosti u vaš obrazac.