Čo je to VBA?
VBA je skratka pre Visual Basic for Applications, ide o programovací jazyk, ktorý vyvinula firma Microsoft. Excel, ako aj iné aplikácie (Word, Access, PowerPoint…) z balíka Microsoft Office v sebe tento programovací jazyk obsahujú. To znamená, že nie je nutné si ho dokúpiť alebo doinštalovať.
Stručne povedané, VBA je nástroj, ktorý ľudia využívajú na naprogramovanie programov, algoritmov v Exceli na uľahčenie (automatizáciu) svojej práce.
Čo všetko sa s VBA dá vykonať – na čo VBA slúži?
Program Excel ľuďom slúži na vykonávanie množstva úloh:
- Formátovanie tabuliek, buniek…
- Tvorba faktúr, objednávok
- Používanie vzorcov a výpočtov
- Analýzu dát a tvorbu výstupov, či už v grafickej alebo textovej forme
- Tvorbu formulárov
- Naceňovanie a tvorba rozpočtov
- Tvorba databáz o zákazníkoch, faktúrach, dodávateľoch
- a mnoho, mnoho ďalších praktických vecí
A práve VBA slúži na automatizáciu týchto úkonov, ktoré niektorí ľudia vykonávajú mesačne, týždenne, denne alebo na minútovej/sekundovej báze. Takže viete niekedy vďaka jednému kliknutiu na tlačidlo ušetriť desiatky hodín práce.
Výhody a nevýhody VBA
V tejto časti si stručne popíšeme jednotlivé výhody resp. nevýhody programovania v jazyku Visual Basic for Applications (VBA). Jednou zo zásadných výhod VBA je automatizácia. Automatizovať môžete v podstate všetko, čo Excel dokáže vykonávať.
Výhody VBA:
-
- Excel vykoná úlohy vždy rovnakým spôsobom
- Vykonávanie úloh je oveľa rýchlejšie ako manuálne vykonávanie. Viete ušetriť desiatky až stovky hodín manuálnej práce
- Naprogramované postupy a algoritmy môžu vykonávať aj ľudia, ktorí VBA neovládajú. Niekedy stačí stlačiť len jedno tlačidlo.
- Vďaka VBA môžete v Exceli vykonávať aj veci, ktoré pri bežnom používaní Excelu nemôžete.
- Programy VBA sa vykonávajú aj bez Vašej prítomnosti. Stačí zadať, čo má VBA vykonávať a Vy môžete ísť pokojne na kávičku. 🙂
Nevýhody VBA:
- Musíte ovládať programovací jazyk VBA a vedieť, ako sa jednotlivé úkony, cykly, deklarácie, definície vo VBA zapisujú. To však nie je nutné, ak budete tvoriť makrá prostredníctvom nástoja na Záznam makier.
- Nemôžte vždy očakávať, že Vami naprogramovaný program bude fungovať na 100% hneď na prvýkrát. Niekedy trvá hodiny vyladenie programu a zohľadnenie všetkých možností a chýb, avšak v budúcnosti Vám tento program ušetrí stovky ďalších hodín.
- Aj napriek tomu, že sa firma Microsoft snaží zabezpečiť čo najlepšiu kompatibilitu. Niekedy staršie verzie nevedia novší kód VBA spustiť.
Z čoho sa skladajú VBA moduly?
VBA moduly sa skladajú z procedúr, ktoré sa začínajú príkazom SUB a končia príkazom END SUB.
Nasledujúca procedúra s názvom Zrataj spočíta v premennej Sucet čísla 1+1 a následne výsledok pomocou príkazu MsgBox vypíše na obrazovku.
VBA moduly sa môžu skladať aj z užívateľských funkcií, ktoré je možné volať (použiť) z iných častí VBA kódu alebo priamo v hárku programu Excel. Každá funkcia začína príkazom FUNCTION a končí príkazom END FUNCTION.
Nasledujúca funkcia s názvom Zrataj spočíta 2 čísla, ako argumenty (cislo1, cislo2) a následne výsledok zapíše do bunky.
VBA ďalej pracuje s desiatkami objektov, ktoré sú súčasťou bežného Excelu ako:
- Zošity
- Hárky
- Riadky, stĺpce, bunky
- Grafy, tvary, tabuľky
Tieto objekty sú určené v určitej hierarchii, kde najvyššiu pozíciu zaberá samotný Excel (Application) a následne ďalšie nižšie objekty, ktoré si rozoberieme v ďalších článkoch.
Napríklad zápis:
Odkazuje na aplikáciu Excel, zošit Makra, v ktorom je hárok Faktury a tam bunka C5.
Objekty, ktoré sa pri programovaní vo VBA používajú môžu využívať rozličné metódy.
Napríklad zápis:
Zistí hodnotu v bunke C5 na hárku Faktury.