Vzdělávání = nejjistější investice v době krize
Excel - základy programování a makra ve Visual Basic for Application - 3 dny
Kurz MS Excel - základy programování a makra ve Visual Basic for Application je určen pokročilým uživatelům MS Excel, kteří chtějí automatizovat některé své postupy, jež se jim rutinně opakují, případně pomoci méně zdatným kolegům s takovými pracemi. Příkladem může být pravidelné generování ceníku pro dealery z komplexního ceníku.
Dostatečné znalosti práce s programem MS Excel na úrovni alespoň „mírně pokročilí“ (Lektor by neměl ztrácet čas vysvětlováním, co v Excelu znamená vzorec =Suma(A4:A42) ).
Základní strategie výkladu
Naprostá většina pojmů je probírána na konkrétních a v praxi upotřebitelných příkladech. Lektor sleduje cíl, aby účastníci kurzu látku nejen mechanicky napodobili, ale aby aspoň v základních rysech problému rozuměli. Studenti jsou seznamováni se způsoby, aby určitého cíle, který je v začátku jejich projektů pouze tušen, uměli dosáhnout s využitím zázemí VBE, např. Nápověda, kontextové menu, Object browser a další.
Z důvodu předvedení určitých jevů se v příkladech od samého počátku pracuje s některými kontrukcemi, např. s přiřazením hodnoty, které budou teprve v průběhu výkladu vysvětleny podrobněji. Jinak by výklad v první části byl velmi suchopárný. Na druhou stranu si účastníci kurzu občas mohou připadat zmateni, zda nepřeslechli nějaký výklad. Zde nastupuje interaktivita kurzu – od účastníků se očekává, že budou do výkladu vstupovat otázkami. Každý účastník odpovídá za to, že se bez otálení „zeptá na cestu, pokud se ztratil“.
Pokud je otázka pro pochopení aktuálního výkladu důležitá, lektor odskočí ve výkladu i do vzdálenější části osnovy, a pak se vrátí k probírané látce.
Takto se studující učí jazyk trochu jako při luštění křížovky, což je nicméně obecná vlastnost všech jazyků, včetně češtiny, že se zdokonalujeme „za pochodu“ a bez přesného pochopení úplně každého slova.
1 Úvod do problematiky
- Co jsou (nebo dříve byla) makra
- Programovací jazyk VBA a jeho současná pozice. Nepopiratelné výhody spojení VBA s řadou aplikací „v ceně základního produktu“. (Každý, kdo má Excel, má i VBA pro Excel, aniž si jej musí zvlášť kupovat). Je „zastaralý“?
2 Práce se záznamníkem maker
- Nahrávání a umístění maker (nastavení vhodné úrovně zabezpečení, panel nástrojů Visual Basic, příprava prostředí, nahrání jednoduchého makra, analýza nahraného kódu, význam sešitu Personal.xls)
- Spouštění maker (z nabídky, klávesovou zkratkou, přidanou ikonou z panelu nástrojů, připojením ke grafickému prvku, příkazovým tlačítkem z panelu Formuláře, automatické spuštění událostí)
3 Prostředí vývojového prostředí Visual Basic for Application
- Nastavení prostředí VBA, menu Tools->Options (proč jen to nejnutnější)
- Co je Projekt, okno Project Explorer
- Ladění, menu Debug, okno Watches, Quick Watch, bublinkové info o aktuální hodnotě pod kursorem myši, krokování, zarážky, zastavení a pokračování běhu makra
- Kompilace kódu – kdy je potřeba
- Okno Immediate a příkaz Debug.Print
- Práce s nápovědou (obvykle pro začátečníka nesrozumitelnou J)
- Prohlížeč objektů (Object browser) se stává naším pomocníkem
4 Proměnné, konstanty, výrazy, pole
- Deklarace jednoduchých proměnných, jejich životnost a rozsah platnosti, základní datové typy (Integer, String,...)
- Deklarace konstant, jaké přináší výhody, několik příkladů předdefinovaných konstant VBA (např. xlUp, nebo vbCr)
- Výrazy, aritmetické, textové a logické operátory, jejich priorita (např. „cislo_radku + 4“)
5 Subrutiny a funkce
- Co je Intellisence, „samodoplňování“ klíčových slov jazyka, kontextové roletky s vlastnostmi a metodami, automatická formální kontrola syntaxe
- Procedura SUB, předání parametru odkazem, hodnotou
- Procedura FUNCTION, stanovení typu a přiřazení návratové hodnoty, uložení vlastních funkcí jako doplňku pro počítání v listu Excelu (např. funkce, která spočte v buňce počet slov).
- Dostupnost podprogramů a funkcí v rámci projektu a aplikace (jen základní zmínka)
6 Základní programové konstrukce VBA
- Použití metod MsgBox a InputBox jako příkazů, resp. funkcí ke komunikaci s uživatelem
- Vyvolání standardních funkcí listu z VBA (např. funkce Suma() použitá uvnitř makra)
- Cykly, větvení programu (Do, For, If-Then-Else, Select Case)
- Datové a časové funkce, formáty apod. (jen výběr z rozsáhlé množiny, typická úskalí s převody datumu)
- Deklarace jednoduchého Pole, naplnění hodnotami funkcí Array nebo použitím smyčky For-Next
- Přiřazovací příkaz, zápis na více řádků, více příkazů na řádek
- Přepracování toho, co VBE zaznamenal při nahrávání makra, pro reálné použití
- Ochrana kódu uzamknutím projektu (jen zmínka)
7 Ošetření chybových stavů při běhu makra (Murphyho zákon)
- Příkaz On Error, umístění kódu ošetřujícího chybu, způsob jeho vyvolání a návratu, rozsah platnosti, zjištění, která chyba nastala
- Praktické využití, např. potlačení standardního hlášení o chybě, kterou způsobil uživatel nevhodnou odpovědí a překonání chyby programátorovou předvídavostí
8 Objekty (struktury vybavené předprogramovanými vlastnostmi a schopnostmi)
- Objektový model Excelu (Z čeho je vlastně Excelový sešit vystavěn)
- Objekt Application, WorkBook, Woksheet, Chart, Range…
- Vlastnosti, metody a události objektů
- Událostní procedury listů a sešitu (nejčastější prakticky využívané události, jako WorkBook.Open)
- Kolekce objektů - příklady: WorkSheets, Sheets, Charts,
- Vyvolání standardních dialogových oken Excelu z VBA (např. Náhled tisku)
- Deklarace proměnné typu objekt a k čemu to je (typy early binding jako Worksheet, Name apod)
- Odkazy na listy Excelu, oblasti listu, Offset, Resize, End, CurrentRegion
- Metody Copy, Move, Delete, Clear vůči blokům v listu Excelu
9 Formuláře listu
- Ovládací prvky na panelu nástrojů Formulář
- Připojení makra k prvku
10 Vlastní dialogová okna (Shromáždit zadání více parametrů úlohy a po jejich vyplnění spustit akci)
- Vytvoření vlastního Formuláře
- Událostní procedury formuláře (Např. UserForm_Initialize, Modre_Tlacitko_Click)
- Ovládací prvky ActiveX (CommandButton, OptionButton, CheckBox, ComboBox, ListBox…), přidání alespoň OK a Storno.
- Vazba na buňku listu (vyplnění formuláře automaticky mění hodnotu některé buňky), vazba na zdroj dat (ve formuláři se třeba objevují adresy provozoven zapsané v Excelu), zápis dat do listu (např. po stisku tlačítka OK ve formuláři, ale při Storno se nezapíší).
11 Dotazy, diskuse, vyhodnocení kurzu
Pro tento kurz nejsou momentálně stanoveny žádné termíny. Termíny vypíšeme, jakmile budeme mít potřebný počet zájemců. Registrujte se prosím pomocí formuláře napravo.
Termín je vypsán, ale nehodí se Vám?
Pokud se Vám žádný z vypsaných termínů nehodí, použijte prosím formulář na pravé straně.



