Výuka a školení Excelu Výuka a školení Excelu Výuka a školení Excelu
Výuka a školení Excelu Výuka a školení Excelu

úterý 22. ledna 2013

Jak napsat jednoduché makro v jazyce Visual Basic for Applications (VBA)

V jednom z minulých článků jsme si ukázali, jak nahrát vlastní makro.
Často se ale dostaneme do situace, kdy makro nelze nahrát - a je třeba jej napsat. To nemusí být úplně strašidelná situace - jazyk pro psaní maker je jeden z nejjednodušších, které můžete potkat.

Příklad

Potřebuji vytvořit makro, které posune aktivně vybranou buňku o řádek níže. Tedy například z buňky A1 se posunu do buňky A2.

Návod

V kartě Vývojář kliknu na Visual Basic a jsem v editoru, do kterého zapíšu toto makro:


Sub posunout_dolu()
soucasny = ActiveCell.Row
novy = soucasny + 1
ActiveSheet.Cells(novy, ActiveCell.Column).Select
End Sub

Pojďme si makro vysvětlit:

  • Sub posunout_dolu()
    Začínám makro a to se jmenuje "posunout_dolu"
  • soucasny = ActiveCell.Row
    Proměnná "soucasny" se nastaví na hodnotu, kterou má hodnota momentálně aktivní buňky
  • novy = soucasny + 1
    Proměnná "novy" se nastaví na hodnotu o jednu větší než je proměnná "soucasny"
  • ActiveSheet.Cells(novy, ActiveCell.Column).Select
    Označí se buňka, jejíž řádek má číslo stejné jako hodnota proměnné "novy", sloupec zůstává stejný.
  • End Sub
    Konec makra
Visual Basic vychází z angličtiny a není těžké s ním pracovat. Je to asi nejsnazší cesta k tomu, abyste začali programovat.
Jak makro spustit jsme si už ukázali v minulém příspěvku.

Opožděně mě napadlo, že samozřejmě takové makro by se dalo napsat i mnohem elegantněji:


Sub posunout_dolu()
ActiveCell.Offset(1, 0).Select
End Sub

Ale nechám tu obě verze - na té první je ukázaná práce s proměnnými

Žádné komentáře:

Okomentovat