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

Ukážeme si, jak 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:

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:
Ale nechám tu obě verze - na té první je ukázaná práce s proměnnými
2 comments on “Jak napsat jednoduché makro v jazyce Visual Basic for Applications (VBA)
  1. Zdena napsal:

    lasak.zd@seznam.cz

    Vážení,
    jsemť já dříve narozený dokonce jsem si dokázal udělat pamětníček, který funguje celý rok. Do sloupce A 1 vložím datum DDD – DD.MM.RRRR a přidám k dalšímu řádku +1 a táhnu až do konce roku. Jenom nevím, jak zadat podmínku, aby se pro SO a NE vybarvilo políčko, abych to nemusel dělat ručně. Děkuji za radu předem.

  2. Jiří Beran napsal:

    Dobrý den, tohle se dá dělat podmíněným formátováním:
    http://vyuka-excelu.cz/navody/podminene-formatovani/

Napsat komentář

Vaše emailová adresa nebude zveřejněna.

Firemní kurzy

  • Přemýšlíte o firemním školení Excelu?
  • Školíme Excel od začátečníků po experty, ale také PowerPoint, PowerPivot nebo Access.
Mám zájem o kurz

Individuální výuka

Mám zájem o výuku

Vývoj aplikací v Excelu (makra - VBA)

  • Vyvíjíme aplikace pro potřeby firemních zákazníků
  • Reporty, vizualizace dat, harmonogramy, plánování
  • Slučování dat ze souborů, agregace, exporty
Zajímám se o vytvoření aplikace

Kontakt

  • Tel: +420 602 274 999
  • Mail: info@vyuka-excelu.cz
Kontaktní formulář
TOPlist