Ve spolupráci se SEDUO jsem vytvořil několik videokurzů:
Jak je vlastně makro koncipováno, z čeho se skládá.
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.
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.
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
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
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
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í.
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: 19.09.2020 11:07
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.
Microsoft Office (Word, Excel, Google tabulky, PowerPoint) se věnuji od roku 2000 (od 2004 na této doméně) - V roce 2017 jsem od Microsoft získal prestižní ocenění MVP (zatím jsem jediný z ČR v kategorií Excel). Své vědomosti a zkušenosti dávám k dispozici i on-line ve videích pro SEDUO. Ve firmách školím a konzultuji, učím na MUNI. Tento web již tvořím přes 15 let. Zdarma je zde přes 1.000 návodu, tipů a triků, včetně přes 250 různých šablon, sešitů.
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.
Pomohl Vám návod? Sdílejte na Facebooku, G+ |
||
LinkedIn... |
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 - 2024 |