Přeskočit navigaci | Přeskočit na novinky

Nový videokurz na Seduo: Excel pro začátečníky

     

Jste zde: Úvodní stránka » excel » vba-teorie-zaklady » rozbor-makra-vba-kodu

Rozbor makra - VBA kódu


Jak je vlastně makro koncipováno, z čeho se skládá.

Úvodem k rozboru maker a VBA kódu

Každý VBA kód makro má svou strukturu, pro znalého člověka není problém se v kódu zorientovat a poznat co má provádět. Pro neznalého to může být změť divných nic neříkajících slov. Zorientovat se v kódu není složité, pomůže nám barevně označené části textu a jejich struktura v řádcích, stejně tak jako označení hlavičky a konce "procedury", názvy funkce, klíčová slova (například pro cykly), označení poznámek atd.

Barvy maker a VBA kódu

Spustite-li si VBA editor s nahraným makrem nebo VBA kódem, zjistíte, že text je různobarevný. Použité barvy mají svůj význam a pomáhají se Vám v kódu zorientovat a případně najít chybu.

  • zelená - pro poznámky
  • červená - pro chybný řádek
  • modrá - pro "klíčová slova" programovacího jazyka, tato slova nesmíte použít pro nic jiného (jiné) částí kódu
  • černá - ostatní text
  • hnědá - kód označen zarážkou
  • žlutě podbarveno - došlo k chybě

Vlastní makro (hlavička konec)

Makro je uvozeno a ukončeno. Toto zabírá dva řádky (uvozující a ukončující). První řádek obsahuje uvozující slovo Sub - označující typ VBA kódu/makra/procedury/události (podrobněji proberu v dalším článku). Název tohoto makra/procedury případně události. Název tohoto makra/procedury/události je vždy doplněn závorkami (), v případě nutnosti může závorka obsahovat další údaje (o těch se zmíním v dalším článku). Ukončení je uvozeno End Sub. V následujících ukázkách můžete vidět jak hlavička a ukončení procedury/makra vypadá.

Sub Makro() ---- příkazy ---- End Sub

Nebo:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) ---- příkazy ---- End Sub

Komentáře

Nejsou pro kód důležité. Jsou důležité pro Vás, až se budete ke kódu po čase vracet. Ať víte, co znamenají Vaše příkazy. Z osobní zkušenosti doporučuji komentáře psát. Později Vám ulehčí práci při přemýšlení proč a jak Váš kód funguje. Uvozeny jsou znakem ' a mají zelenou barvu (pro odlišení od ostatního textu). Příklad

' nezobrazím dialogové okno

Vlastní kód

Uvnitř hlavičky je napsán vlastní kód. Jak se tvoří kód je popsáno v následujících článcích. Ukázkový kód může vypadat například takto:

MsgBox ("Byl proveden dvojklik.") Cancel = True

Chybný kód

Povede-li se Vám v kódu udělat chybu a ignorujete-li informaci o chybě zobrazí se daná část kódu červeně, čímž je jasné, že tento řádek bude potřebovat opravu.

fff =

Poznámka: Zobrazují se jen chyby v syntaxi. Logické chyby se bohužel červeně nezobrazí.

Celý kód

Pokud se pospojuje vše dohromady, máte k dispozici funkční VBA kód včetně poznámek.

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, ByRef Cancel As Boolean) MsgBox ("Byl proveden klik pravým tlačítkem myši!") ' cancel - provede deaktivaci kontextového menu Cancel = True End Sub

Článek byl aktualizován: 01.11.2014 14:39

Odměna

Ušetřil vám tento web čas, peníze? Pomohl vyřešit problém? Jste ochotni poskytnout symbolickou odměnu na další rozvoj? Vybrte si formu odměny, která vám vyhovuje.


Pavel Lasák

Pavel Lasák - autor webu

Microsoft Office (Word, Excel, PowerPoint) se věnuji od roku 2006. Své vědomosti a zkušenosti dávám k dispozici na různých školeních a konzultacích, ale také na tomto webu. K dispozici na tomto webu je mnoho návodu, tipů a triků včetně desítek různých šablon.

   Pavel Lasák LinkedIn Profil    Pavel Lasák Google+ Profil    Pavel Lasák facebook Profil    Pavel Lasák twitter Profil

Doporučte tento článek přátelům

Pokud vám článek pomohl, případně si myslíte, že může pomoci i někomu dalšímu, budu rád když jej sdílením doporučíte přátelům - děkuji:



Komentáře


Olda

Přidáno: 16.09.15 12:22

Dobrý den, rád bych Vás požádal o radu. Vytvořil jsem makro, které v pořádku funguje, ale na některých počítačích je problém s češtinou např. místo písmena ř se zobrazuje znak průměru. Makro není schopno takový sloupec zpracovat. Problém mám u kont. tabulky s textem Počet z, tam to č nedokážu obejít. Existuje v makru nějaká úprava kódování, aby se to nedělo? Děkuji.


Přidání nového komentáře

Poznámka: Z časových důvodu není v mých sílách zodpovědět všechny dotazy. Děkuji za pochopení.




(vlož číslo padesátpět)

Z bezpečnostních důvodu dočasně nemůžete použít HTML značky, kromě <code> a </code> (pro vkládání VBA kódu). Děkuji za pochopení.
Děkuji, za Vaše komentáře.

Za obsah komentářů neodpovídám, jelikož jsou komentáře publikovány ihned po jejich napsání čtenářem. Toto nemohu nijak ovlivnit. Přesto si vyhrazuji možnost jakýkoli neslušný komentář smazat bez udání důvodu. V komentářích si tykáme. ;-)






Sdílejte

Pomohl Vám návod?
Sdílejte na Facebooku, G+
LinkedIn...

Nové články


Newsletter

Přihlaste se odběru novinek a získejte:
Ebook zdarma -
10 kroků ke zvládnutí (Word, Excel, PowerPoint)
Šipka Kniha 3D Více o ebooku ...

TOPlist Licence Creative Commons webarchiv rss XML

Stránky o MS Office (Excel) produktu společnosti Microsoft. Neslouží jako technická podpora.
| Email na autora: pavel.lasak@gmail.com | Copyright © : Pavel Lasák 2004 - 2016 | 15578

Tento web zatím neprošel jazykovou korekturou. Beta verze redakčního systému.