Jak napsat jednoduché makro v jazyce Visual Basic for Applications (VBA)
S tímto tématem se setkáte na našich kurzech ExcelTown.
Aktuálně: kurzy můžete absolvovat jak online, tak prezenčně.
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:
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
ActiveCell.Offset(1, 0).SelectAle nechám tu obě verze - na té první je ukázaná práce s proměnnými, o což mi šlo.
Kurzy, na kterých se naučíte pracovat s makry:
S tímto tématem se setkáte na našich kurzech ExcelTown.
Aktuálně: kurzy můžete absolvovat jak online, tak prezenčně.
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.
Dobrý den, tohle se dá dělat podmíněným formátováním:
http://exceltown.com/navody/podminene-formatovani/
Всем привет!
Aktualizace lázní v Moskvě