itlektor_oz_logo
  • Úvod
  • O nás
  • Návody, manuály a videá
    • Excel
    • Word
  • Materiály na stiahnutie
  • Kontakt

VBA programovanie - začíname :)

Č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.

Procedúra súčtu

Sub Zrataj()
Sucet = 1 + 1
MsgBox “Výsledok zrátania je: “ & Sucet
End Sub

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.

Funkcia súčtu

Function Zrataj(cislo1, cislo2)
Zrataj = cislo1 + cislo2
End function

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:

Odkaz na bunku C5

Application.Workbooks(“Makra.xlsx”).Worksheets(“Faktury”).Range(“C5”)

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:

Zistenie hodnoty v bunke C5

Worksheets(“Faktury”).Range(“C5”).Value

Zistí hodnotu v bunke C5 na hárku Faktury.

Viac informácií...
Šurina Michal: Svoje dlhoročné skúsenosti a know-how z používania rôznych počítačových programov som pretavil aj do tohto článku. Verím, že Vám vedomosti, ktoré nadobudnete pomôžu k lepšej práci a efektivite.

Ďakujeme za like alebo share

O nás
Sme neziskové združenie lektorov (itlektor.eu), ktorí svoje dlhoročné skúsenosti a know-how nadobudnuté organizovaním kurzov a školení začali pretavovať do článkov, manuálov a videí.
Veríme, že Vám naše know-how a vedomosti pomôžu zlepšiť prácu a efektivitu v oblasti počítačových technológií a gramotnosti.

Informácie
O nás
Zásady používania cookies
Všeobecné podmienky

Kontaktné údaje
0903 673 463
lektor@itlektor.eu

Počítačové články, manuály, návody a know-how.