Operátory VBA a vestavěné funkce

Excel VBA příkazy

Při psaní kódu VBA v Excelu se na každém kroku používá sada vestavěných operátorů. Tyto operátory se dělí na matematické, řetězcové, porovnávací a logické operátory. Dále se podrobně podíváme na každou skupinu operátorů.

Matematické operátory

Hlavní matematické operátory VBA jsou uvedeny v tabulce níže.

Pravý sloupec tabulky ukazuje výchozí prioritu operátorů bez závorek. Přidáním závorek k výrazu můžete změnit pořadí, ve kterém se příkazy VBA provádějí, jak si přejete.

OperátorAkcepriorita

(1 – nejvyšší; 5 – nejnižší)

^operátor umocňování1
*operátor násobení2
/operátor divize2
Dělení beze zbytku – vrací výsledek dělení dvou čísel beze zbytku. Například, 74 vrátí výsledek 13
OdvahaOperátor Modulo (zbytek) – vrací zbytek po dělení dvou čísel. Například, 8 proti 3 vrátí výsledek 2.4
+Operátor sčítání5
-operátor odečítání5

Řetězcoví operátoři

Základní operátor řetězce v Excel VBA je operátor zřetězení & (spojit):

OperátorAkce
&operátor zřetězení. Například výraz "A" a "B" vrátí výsledek AB.

Porovnání operátorů

Porovnávací operátory se používají k porovnání dvou čísel nebo řetězců a vrací booleovskou hodnotu typu Boolean (Pravda nebo lež). Hlavní porovnávací operátory Excel VBA jsou uvedeny v této tabulce:

OperátorAkce
=Stejně
<>Není to stejné
<Méně
>Lepší
<=Menší nebo rovno
>=Větší nebo rovno

logické operátory

Logické operátory, stejně jako operátory porovnání, vracejí booleovskou hodnotu typu Boolean (Pravda nebo lež). Hlavní logické operátory Excel VBA jsou uvedeny v tabulce níže:

OperátorAkce
Aoperace konjunkce, logický operátor И. Například výraz A a B vrátí se Pravdivý, Pokud A и B oba jsou si rovni Pravdivý, jinak vrátit Falešný.
OrOperace disjunkce, logický operátor OR. Například výraz A nebo B vrátí se Pravdivý, Pokud A or B jsou si rovni Pravdivý, a vrátí se Falešný, Pokud A и B oba jsou si rovni Falešný.
NeOperace negace, logický operátor NENÍ. Například výraz Ne A vrátí se Pravdivý, Pokud A Stejně Falešný, nebo vrátit Falešný, Pokud A Stejně Pravdivý.

Výše uvedená tabulka neuvádí všechny logické operátory dostupné ve VBA. Úplný seznam logických operátorů lze nalézt na webu Visual Basic Developer Center.

Vestavěné funkce

Ve VBA je k dispozici mnoho vestavěných funkcí, které lze použít při psaní kódu. Níže jsou uvedeny některé z nejčastěji používaných:

funkceAkce
AbsVrátí absolutní hodnotu daného čísla.

Příklad:

  • Abs (-20) vrátí hodnotu 20;
  • Abs (20) vrátí hodnotu 20.
chrVrátí znak ANSI odpovídající číselné hodnotě parametru.

Příklad:

  • Chr(10) vrátí konec řádku;
  • Chr(97) vrátí znak a.
DatumVrátí aktuální systémové datum.
DatumPřidatPřidá k danému datu zadaný časový interval. Syntaxe funkce:

DateAdd(интервал, число, дата)

Kde je argument interval určuje typ časového intervalu přidaného k danému datum ve výši uvedené v argumentu číslo.

Argument interval může nabývat jedné z následujících hodnot:

IntervalHodnota
rrrrrok
qčtvrtletí
mměsíc
yden v roce
dden
wden v týdnu
wwtýden
hhodina
nminuta
sdruhý

Příklad:

  • DateAdd(«d», 32, «01/01/2015») přidá 32 dní k datu 01 a vrátí tak datum 01.
  • DateAdd(«ww», 36, «01/01/2015») přidá 36 týdnů k datu 01 a vrátí datum 01.
DateDiffVypočítá počet zadaných časových intervalů mezi dvěma danými daty.

Příklad:

  • DateDiff(«d», «01/01/2015», «02/02/2015») vypočítá počet dní mezi 01 a 01, vrátí 2015.
  • DateDiff(«ww», «01/01/2015», «03/03/2016») vypočítá počet týdnů mezi 01 a 01, vrátí 2015.
DenVrátí celé číslo odpovídající dni v měsíci v daném datu.

Příklad: Den(«29/01/2015») vrátí číslo 29.

hodinaVrátí celé číslo odpovídající počtu hodin v daném čase.

Příklad: Hodina(«22:45:00») vrátí číslo 22.

InStrJako argumenty bere celé číslo a dva řetězce. Vrátí polohu výskytu druhého řetězce v rámci prvního, přičemž hledání začíná na pozici dané celým číslem.

Příklad:

  • InStr(1, “Zde je hledané slovo”, “slovo”) vrátí číslo 13.
  • InStr(14, “Zde je hledané slovo a zde je další hledané slovo”, “slovo”) vrátí číslo 38.

Poznámka: Argument číslo nemusí být zadán, v takovém případě začíná hledání od prvního znaku řetězce zadaného ve druhém argumentu funkce.

IntVrátí celočíselnou část zadaného čísla.

Příklad: Int(5.79) vrátí výsledek 5.

IsdateVrácení zboží Pravdivýpokud je daná hodnota datum, popř Falešný – pokud datum není.

Příklad:

  • IsDate(«01/01/2015») Vrací Pravdivý;
  • IsDate(100) Vrací Falešný.
IsErrorVrácení zboží Pravdivýpokud je daná hodnota chybou, popř Falešný – pokud to není chyba.
ChybíNázev volitelného argumentu procedury je předán jako argument funkci. Chybí Vrací Pravdivýpokud nebyla předána žádná hodnota pro daný argument procedury.
IsNumericVrácení zboží Pravdivýpokud lze zadanou hodnotu považovat za číslo, jinak vrací Falešný.
LevýVrátí zadaný počet znaků od začátku daného řetězce. Syntaxe funkce je taková:

Left(строка, длина)

kde linka je původní řetězec a délka je počet znaků, které se mají vrátit, počítáno od začátku řetězce.

Příklad:

  • Vlevo(“abvgdejziklmn”, 4) vrátí řetězec „abcg“;
  • Vlevo(“abvgdejziklmn”, 1) vrátí řetězec „a“.
LenVrátí počet znaků v řetězci.

Příklad: Len("abcdej") vrátí číslo 7.

MěsícVrátí celé číslo odpovídající měsíci daného data.

Příklad: Měsíc(«29. 01. 2015») vrátí hodnotu 1.

StředníVrátí zadaný počet znaků ze středu zadaného řetězce. Syntaxe funkce:

Střední(linka, Začít, délka)

kde linka je původní řetězec Začít – pozici začátku řetězce, který má být extrahován, délka je počet znaků, které mají být extrahovány.

Příklad:

  • Mid(“abvgdejziklmn”, 4, 5) vrátí řetězec „kde“;
  • Mid(“abvgdejziklmn”, 10, 2) vrátí řetězec „cl“.
MinutaVrátí celé číslo odpovídající počtu minut v daném čase. Příklad: Minuta(«22:45:15») vrátí hodnotu 45.
TeďVrátí aktuální systémové datum a čas.
PrávoVrátí zadaný počet znaků od konce daného řetězce. Syntaxe funkce:

Že jo(linka, délka)

Kde linka je původní řetězec a délka je počet znaků k extrakci, počítáno od konce daného řetězce.

Příklad:

  • Vpravo(«abvgdezhziklmn», 4) vrátí řetězec „clmn“;
  • Vpravo(«abvgdezhziklmn», 1) vrátí řetězec „n“.
DruhýVrátí celé číslo odpovídající počtu sekund v daném čase.

Příklad: Druhý(«22:45:15») vrátí hodnotu 15.

sqrVrátí druhou odmocninu z číselné hodnoty předané v argumentu.

Příklad:

  • Sqr(4) vrátí hodnotu 2;
  • Sqr(16) vrátí hodnotu 4.
ČasVrátí aktuální systémový čas.
UvázanýVrátí horní index zadané dimenze pole.

Poznámka: U vícerozměrných polí může být volitelným argumentem index, který rozměr má být vrácen. Pokud není zadáno, výchozí je 1.

rokVrátí celé číslo odpovídající roku daného data. Příklad: Rok(«29/01/2015») vrátí hodnotu 2015.

Tento seznam obsahuje pouze výběr nejběžněji používaných vestavěných funkcí jazyka Excel Visual Basic. Úplný seznam funkcí jazyka VBA dostupných pro použití v makrech aplikace Excel lze nalézt na webu Visual Basic Developer Center.

Napsat komentář