První díl - účel a nahrání makra Druhý díl - vlastní panel nástrojů Třetí díl - vytváření funkcí a podmínka
Soubor s funkcí, která nefunguje
Tento díl shrnující dvě hodiny najednou připomíná používání základních struktur - podmínky, cyklu - a spojuje je s možností zadávání dat a zobrazování výsledků nejen přes funkce. Teď už zbývá to nejtěžší, ale zároveň nejhezčí - řešit problémy: od hledání největšího/nejmenšího ze tří čísel, přes součet/součin/průměr/přirozenou mocninu po Euklidův algoritmus, Eratothenovo síto, celočíselné dělení a zbytek po něm a převody mezi číselnými soustavami.
Podmínka se kládá ze tří částí - samotné podmínky, příkazů v případě jejího splnění a příkazů v případě jejího nesplnění (tato část už ale být nemusí).
Jednopříkazová podmínka se dá zapsat:
If podmínka Then příkaz
Vícepříkazová podmínka:
If podmínka Then
příkaz 1
příkaz 2
...
End If
Podmínka s oběma větvemi a vnořením další podmínky:
If Podmínka 1 Then
příkazy v případě splnění
Else
If Podmínka 2 Then
příkazy v případě splnění
Else
příkazy v případě nesplnění
End If
End If
Občas potřebujeme provádět nějakou činnost vícekrát, s možností volit opakování. K tomu slouží tento typ cyklu. i je řídící proměnná cyklu, pravidelně se zvyšuje, před započetím cyklu se kontroluje, zda už nepřekročila počet opakování, daný proměnnou N. V cyklu se dá s i počítat, popřípadě měnit, ale opatrně.
For i =1 to N
příkazy prováděné v cyklu
Next i
Někdy je třeba opakování cyklu kontrolovat podmínkou. k tomu slouží tento typ cyklu s podmínkou na začátku, který proběhne jen v případě jejího plnění. Existují i cykly s podmínkou na konci.
While podmínka
příkazy prováděné v cyklu
Wend
Pro základní účely pomiňme definice typů a jejich kontrolu. Když od uživatele makra potřebujeme číselné údaje, doufáme, že nám jiné než číselné údaje nedá. A dá-li, jeho problém, že makro selže. A je proměnná, do které se vloží uživatelem zadaný údaj.
A = InputBox(" text určený uživateli")
A chceme-li uživateli něco sdělit, například výsledek, můžeme použít následující příkaz vyvolávající informační okno. Můžeme spojit text s číselným výsledkem příkazem pro spojování textu:
Napis = "A výsledek je " & Vysledek
MsgBox Napis