Excel - záznam, úprava a programování maker 98
6. Často používané příkazy, funkce a konstrukce V této části si představíme některé příkazy a konstrukce, které se používají velmi často. Zároveň si na praktických ukázkách procvičíte techniku psaní kódu.
6.1
Vestavěné příkazy a funkce obecně
Vestavěné příkazy a funkce jsou přímo součástí jazyka VBA a jsou nezávislé na objektech (zatímco metody a vlastnosti lze volat pouze na objektech). Protože vestavěných příkazů není příliš mnoho, je někdy třeba sáhnout i po jiném programovacím arsenálu, který nabízí přímo operační systém Windows (budeme se jím zabývat ve druhém díle knihy). VBA má také k dispozici celou paletu vestavěných funkcí. Mnohé z nich se podobají funkcím pracovních listů Excelu (nebo jsou jejich ekvivalentem). Např. funkce VBA Date, která vrátí aktuální datum, je významově shodná s funkcí pracovního listu v Excelu DNES. Funkce pracovního listu v kódu VBA Ve svém kódu VBA můžete používat většinu (ale ne všechny!) funkcí pracovních listů Excelu. Jejich volání se provádí pomocí objektu WorksheetFunction. Ten obsahuje všechny funkce pro pracovní listy, které můžete volat přímo ze svého kódu VBA. Určitý problém pro vás asi bude představovat fakt, že ve Visual Basicu musíte používat anglické názvy těchto funkcí – místo funkce SUMA to bude Sum, místo POZVYHLEDAT budete volat funkci Match atp. S tím se ovšem bohužel nedá nic dělat. Jako nápovědu pro převod českých jmen na anglická vám poradím jednoduchý prostředek – nahrajte si makro, ve kterém vložíte do buňky funkci pracovního listu, a v kódu makra uvidíte anglický název této funkce.
V kódu nemůžete používat funkce pracovních listů, které mají ekvivalentní funkci ve VBA. Jazyk VBA např. nemůže pracovat s funkcí Excelu SQRT, protože VBA má svoji vlastní verzi této funkce – Sqr. Seznam všech použitelných funkcí najdete v nápovědě Visual Basic for Applications pod heslem List of Worksheet Functions Available to Visual Basic, případně je získáte přímo v kódu po napsání tečky za názvem objektu WorksheetFunction. Základní přehled používání funkcí pracovních listů najdete v hesle Using Microsoft Excel Worksheet Functions in Visual Basic.
Takže např. sečtení několika hodnot se dá provést dvojím způsobem: a b c ' d ' d
= 10 = 15 = 20 sečtení třech čísel pomocí fce pracovního listu = Application.WorksheetFunction.Sum(a, b, c) prostý součet třech čísel pomocí operátoru + = a + b + c
Č AST O
POUŽ Í VANÉ
PŘ ÍKAZY,
FUNKCE
A
KONSTRUKCE
Ukázka elektronické knihy, UID: KOS180742