VBA – 5# Lekce – Debug proces

Ještě než se pustíme do slibovaného příkazu „Select Case“ chtěl bych Vám ukázat tzv. Debug v MS Excel. Je to nástroj, který prochází krok po kroku námi napsaný kód. Je to dobré, pokud máme delší kód a někde máme chybu. Nebo také k lepšímu pochopení chodu programu.

Debug

Tak a teď jak na to. Nejdříve si spustíme námi napsaný prográmek třeba z minulé lekce s podmínkami IF. Jak jsme již zvyklí, přepneme se do vývojového prostředí. Debug pustíme tlačítkem F8 nebo také v záložce Debug -> položka Step Into. Aby vše fungovalo, musíme mít kurzor nakliknutý v jakékoliv části námi napsaného programu. Postupným mačkáním F8 debug prochází jednotlivé řádky našeho kódu aktuálně „projížděný“ řádek je podbarven žlutě. Pokud potřebujeme vědět, jaké data se nám aktuálně načetly do proměnné, stačí najet kurzorem na danou proměnnou a zobrazí se nám, co obsahuje. Toto platí pro všechny proměnné v kódu ne jenom na tu podbarvenou.

Závěr

S tímto nástrojem jsem Vás chtěl seznámit zejména kvůli pochopení chodu programu. Aby jste viděli, co se kam kdy načítá a měli tak větší kontakt s napsaným kódem a uměli si vše líp představit. Závěrem si dáme úkol projít všechny námi doposud napsané programy tímto postupem a znovu se zamyslet jak program funguje zejména pak programy z minulé lekce kde jsme se poprvé setkali s IF.

VBA – 4# Lekce – Zadání vstupních dat – Inputbox

V této lekci si představíme další příkaz Windows. Jedná se o Inputbox, který se využíváme k tomu abychom mohli číst vstupní data od uživatele. Jelikož nejde o nic těžkého pojďme rovnou na příklad.

Příklad:

Sub scitani ()
Dim a as integer
Dim b as integer
Dim vysledek as integer
a = inputbox(“zadej číslo a “)
b = inputbox(“zadej číslo b “)
vysledek= a +b
MsgBox vysledek, vbOKOnly + vbInformation, "Vysledek"
End sub

Teď vysvětlení kódu jediné s čím jsme se zatím nesetkali, je tento řádek:

a = inputbox(“zadej číslo a “)   

areprezentuje proměnnou kam se zadané data uloží.

inputbox– je zavoláni windows příkazu stejně jako msgbox.

(“zadej číslo a “) – toto je popisek uvedený při zobrazení inputbox okna aby uživatel věděl co má zadávat.

Do inputboxu můžeme samozřejmě načítat i jiná data než čísla. Aby, jsme třeba mohli zadávat textová data, musíme proměnným změnit datový typ na string (Dim b as stringsamozřejmě s nimi pak nejde počítat tak jak jsme si ukázali v minulé lekci. Mohou se pouze sčítat logickým operátorem &.

Dnešní lekce byla poměrně krátká a proto si zadáme domácí úkol. Zkuste si přepsat všechny příklady, se kterými jsme se zatím setkali tak abyste v nich použili funkcionality inputboxu.

Závěr

Další lekce se bude zabývat větvením programu pomocí podmínkových příkazu IF.

VBA – #2 Lekce – Výpis textu na obrazovku

V této lekci se naučíme používat msbgox. Jedná se o příkaz Windows a VBA ho pouze využívá. Msgbox využíváme pro zobrazení zprávy uživateli a jeho syntaxe je

MsgBox (prompt [, buttons + icons][ , title])

prompt (povinný) Zpráva zobrazená v okně hlášení

buttons (volitelný) Určuje tlačítka a ikony, které se v oknu hlášení objeví

upozornění windows

Tlačítka:

  • vbOKOnly
  • vbOKCancel
  • vbAbortRetryIgnore
  • vbYesNoCancel
  • vbYesNo
  • vbRetryCancel

Ikony:

  • vbCritical
  • vbQuestion
  • vbExclamation
  • vbInformation.

Pokud chceme buttons a title (obrázek viz ukázka vpravo) spojit dáme mezi ně + (tak jako je to použito v následujícím příkladu vbQuestion + vbOKOnly title se ukáže otazník a button bude vbOKOnly)

title (volitelný) Text, který se zobrazí v záhlaví okna hlášení. Standardní text je Microsoft Excel.

Příklad

Nejlépe si to vysvětlíme na jednoduchém příkladu:

Sub hello_world ()
MsgBox "Hello World", vbQuestion + vbOKOnly, "Tvůj první script"
End sub

Tento skript spustíme kliknutím v run > run macro nebo také f5. Po spuštění se vám vyskočí okno se zprávou hello world.

Vysvětlení kódu je jednoduché.

  1. Sub – v prvním řádku znamená že se jedna o subrutinu.
  2. Hello_world je název této subrutiny (v názvu nesmějí být mezery)
  3. MsgBox –příkaz který jsme si vyvolali
  4. „Hello World“, – zpráva (prompt)
  5.  vbQuestion + vbOKOnly , –to první je ikonka otazníku, a to druhé je tlačítko „ok“
  6.  „Tvůj první script“ – toto je zpráva v záhlaví bez toho by tam bylo „Microsoft Excel“
  7. End sub – nám ukazuje kde daná subrutina končí.

Závěr

Tímto končí  i naše první lekce sami si vyzkoušejte různé podoby msgboxu zkuste nakombinovat tlačítka a ikony a různé záhlaví okna. Příště se podíváme na proměnné a jejich datové typy.

VBA – 1# Úvod do kurzu

    VBA je programovací jazyk se kterým se můžete setkat v prostředí Microsoft Office. My si budeme ukazovat jeho užití v Excelu . Tento tutoriál je určen i naprostým laikům a jeho cíl je naučit každého základním a pokročilým znalostem VBA. Takže ať už jste začínající programátor který hledá něco lehkého do začátku nebo každodenní uživatel balíku MS Office především Excelu je tento tutoriál pro Vás přesně to pravé. Budeme postupovat po malých krůčcích pro lepší pochopeni chodu jednotlivých úkonů.

Jak jsem již zmínil VBA můžeme psát i v obyčejném Excelu, který se v dnešní době vyskytuje na většině PC to je jeho nesporná výhoda protože drtivá většina ostatních programovacích jazyků vyžaduje své vlastní vývojové prostředí, které je většinou zpoplatněno (Microsoft Visual Studio).

Do editoru VBA se v Excelu dostaneme pouhým stisknutím kombinace alt + f11 a nebo na kartě vývojář > visual basic (je možné, že se Vám karta vývojář nezobrazuje v tomto případě je nutné jít do nastavení přes soubor > možnosti > přizpusobit kartu a tam zakliknout vývojář) pokud ještě stále používáte Excel ve verzi 2003 tak editor najdete  nástroje > makra > editor jazyka visual basic. Při prvním spuštění editoru VBA si musíme ověřit že je naše nastavení v excelu neblokuje a to provedeme v kartě vývojář > zabezpečení maker > a zatrhneme povolit vše v případe Excel 2003 musíme povolit v nástroje makra > zabezpečení > a vybereme volbu nízké. Když tento krok provedeme musíme excel vypnout a znova zapnout, aby se změny projevily

Při spuštění editoru visual basicu se nám objeví okno editoru vlevo najdeme „projekt explorer“ tedy prohlížeč projektů (moduly, class moduly, formuláře…) v dáném sešitu. Pod tímto oknem nalezneme okno properities, které nás bude zajímat hlavně při tvorbě formulářu a kterým se zatím nemusíme zabývat. Nahoře pak najdeme klasické panely nástrojů kde nás bude na začátku každého projektu zajímat především druhé tlačítko zleva. Abychom mohli napsat naše první makro musíme kliknout na malou šipku vedle tohoto tlačítka a vybrat module. V této chvíli nám vyskočí třetí a hlavní okno do kterého budeme psát samotná makra.

To je pro zatím vše, už víme jak se dostat do editoru, jak ho správně nastavit a kde budeme psát samotný kód takže jsme již připraveni vrhnout se na náš první prográmek.