Operátory VBA a vstavané funkcie

Excel VBA výpisy

Pri písaní kódu VBA v Exceli sa na každom kroku používa sada vstavaných operátorov. Tieto operátory sa delia na matematické, reťazcové, porovnávacie a logické operátory. Ďalej sa podrobne pozrieme na každú skupinu operátorov.

Matematické operátory

Hlavné matematické operátory VBA sú uvedené v tabuľke nižšie.

Pravý stĺpec tabuľky zobrazuje predvolenú prioritu operátorov bez zátvoriek. Pridaním zátvoriek do výrazu môžete podľa potreby zmeniť poradie, v ktorom sa príkazy VBA vykonávajú.

operátorakčnápriorita

(1 – najvyššia; 5 – najnižšia)

^operátor umocňovania1
*operátor násobenia2
/operátor divízie2
Delenie bez zvyšku – vráti výsledok delenia dvoch čísel bezo zvyšku. Napríklad, 74 vráti výsledok 13
OdvahaOperátor Modulo (zvyšok) – vráti zvyšok po delení dvoch čísel. Napríklad, 8 proti 3 vráti výsledok 2.4
+Operátor sčítania5
-operátor odčítania5

Prevádzkovatelia reťazcov

Základným operátorom reťazca v Excel VBA je operátor zreťazenia & (zlúčiť):

operátorakčná
&operátor zreťazenia. Napríklad výraz "A" a "B" vráti výsledok AB.

Prevádzkovatelia porovnania

Porovnávacie operátory sa používajú na porovnanie dvoch čísel alebo reťazcov a vrátenie boolovskej hodnoty typu boolean (Pravda alebo lož). Hlavné porovnávacie operátory Excel VBA sú uvedené v tejto tabuľke:

operátorakčná
=rovnako
<>Nerovná sa
<menej
>Больше
<=Menšie alebo rovnaké
>=Väčšie alebo rovné

logické operátory

Logické operátory, podobne ako porovnávacie operátory, vracajú boolovskú hodnotu typu boolean (Pravda alebo lož). Hlavné logické operátory Excel VBA sú uvedené v tabuľke nižšie:

operátorakčná
aoperácia konjunkcie, logický operátor И. Napríklad výraz A a B vráti sa Pravdivý, Ak A и B obaja sú si rovní Pravdivý, inak vrátiť Falošný.
OrOperácia disjunkcie, logický operátor OR. Napríklad výraz A alebo B vráti sa Pravdivý, Ak A or B sú si rovní Pravdivý, a vráti sa Falošný, Ak A и B obaja sú si rovní Falošný.
NieNegačná operácia, logický operátor NIE JE. Napríklad výraz Nie A vráti sa Pravdivý, Ak A rovnako Falošný, alebo vrátiť Falošný, Ak A rovnako Pravdivý.

V tabuľke vyššie nie sú uvedené všetky logické operátory dostupné vo VBA. Kompletný zoznam logických operátorov nájdete vo Visual Basic Developer Center.

Vstavané funkcie

Vo VBA je k dispozícii veľa vstavaných funkcií, ktoré možno použiť pri písaní kódu. Nižšie sú uvedené niektoré z najčastejšie používaných:

Funkcieakčná
AbsVráti absolútnu hodnotu daného čísla.

Príklad:

  • Abs (-20) vráti hodnotu 20;
  • Abs (20) vráti hodnotu 20.
ChrVráti znak ANSI zodpovedajúci číselnej hodnote parametra.

Príklad:

  • Chr(10) vráti zalomenie riadku;
  • Chr(97) vráti znak a.
dátumVráti aktuálny systémový dátum.
DateAddK danému dátumu pridá zadaný časový interval. Syntax funkcie:

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

Kde je argument interval určuje typ časového intervalu pridaného k danému dáta vo výške uvedenej v argumentácii číslo.

argument interval môže nadobudnúť jednu z nasledujúcich hodnôt:

IntervalHodnota
yyyyrok
qštvrťroku
mmesiac
ydeň v roku
ddeň
wdeň v týždni
wwtýždeň
hhodina
nminúta
sdruhý

Príklad:

  • DateAdd(«d», 32, «01/01/2015») pridá 32 dní k dátumu 01 a vráti tak dátum 01.
  • DateAdd(«ww», 36, «01/01/2015») pridá 36 týždňov k dátumu 01 a vráti dátum 01.
DateDiffVypočíta počet zadaných časových intervalov medzi dvoma danými dátumami.

Príklad:

  • DateDiff(«d», «01/01/2015», «02/02/2015») vypočíta počet dní medzi 01 a 01, vráti 2015.
  • DateDiff(«ww», «01/01/2015», «03/03/2016») vypočíta počet týždňov medzi 01 a 01, vráti 2015.
deňVráti celé číslo zodpovedajúce dňu v mesiaci v danom dátume.

Príklad: Deň(«29/01/2015») vráti číslo 29.

hodinaVráti celé číslo zodpovedajúce počtu hodín v danom čase.

Príklad: Hodina(«22:45:00») vráti číslo 22.

InStrAko argumenty berie celé číslo a dva reťazce. Vráti polohu výskytu druhého reťazca v rámci prvého, pričom vyhľadávanie začne na pozícii zadanej celým číslom.

Príklad:

  • InStr(1, “Tu je hľadané slovo”, “slovo”) vráti číslo 13.
  • InStr(14, “Tu je hľadané slovo a tu je ďalšie hľadané slovo”, “slovo”) vráti číslo 38.

Poznámka: Argument číslo nemusí byť zadaný, v takom prípade vyhľadávanie začína od prvého znaku reťazca uvedeného v druhom argumente funkcie.

IntVráti celú časť daného čísla.

Príklad: Int (5.79) vráti výsledok 5.

IsdateVrátenie tovaru Pravdivýak je daná hodnota dátum, príp Falošný – ak dátum nie je.

Príklad:

  • IsDate(«01/01/2015») Vracia Pravdivý;
  • IsDate(100) Vracia Falošný.
IsErrorVrátenie tovaru Pravdivýak je daná hodnota chybou, príp Falošný – ak to nie je chyba.
ChýbaNázov voliteľného argumentu procedúry sa odovzdá ako argument funkcii. Chýba Vracia Pravdivýak nebola odovzdaná žiadna hodnota pre daný argument postupu.
IsNumericVrátenie tovaru Pravdivýak možno danú hodnotu považovať za číslo, inak vráti Falošný.
ĽavýVráti zadaný počet znakov od začiatku daného reťazca. Syntax funkcie je takáto:

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

kde linka je pôvodný reťazec a dĺžka je počet znakov, ktoré sa majú vrátiť, počítané od začiatku reťazca.

Príklad:

  • Vľavo(“abvgdejziklmn”, 4) vráti reťazec „abcg“;
  • Vľavo(“abvgdejziklmn”, 1) vráti reťazec „a“.
ĽanVráti počet znakov v reťazci.

Príklad: Len(“abcdej”) vráti číslo 7.

mesiacVráti celé číslo zodpovedajúce mesiacu daného dátumu.

Príklad: Mesiac(«29/01/2015») vráti hodnotu 1.

StrednáVráti zadaný počet znakov zo stredu daného reťazca. Syntax funkcie:

Stred(linka, Začať, dĺžka)

kde linka je pôvodný reťazec Začať – polohu začiatku reťazca, ktorý sa má extrahovať, dĺžka je počet znakov, ktoré sa majú extrahovať.

Príklad:

  • Stred(“abvgdejziklmn”, 4, 5) vráti reťazec „kde“;
  • Stred(“abvgdejziklmn”, 10, 2) vráti reťazec „cl“.
MinútaVráti celé číslo zodpovedajúce počtu minút v danom čase. Príklad: Minúta(«22:45:15») vráti hodnotu 45.
TerazVráti aktuálny systémový dátum a čas.
SprávnyVráti zadaný počet znakov od konca daného reťazca. Syntax funkcie:

Správny(linka, dĺžka)

Kde linka je pôvodný reťazec a dĺžka je počet znakov na extrahovanie, počítaný od konca daného reťazca.

Príklad:

  • Vpravo(«abvgdezhziklmn», 4) vráti reťazec „clmn“;
  • Vpravo(«abvgdezhziklmn», 1) vráti reťazec „n“.
druhýVráti celé číslo zodpovedajúce počtu sekúnd v danom čase.

Príklad: Druhý(«22:45:15») vráti hodnotu 15.

sqrVráti druhú odmocninu z číselnej hodnoty odovzdanej v argumente.

Príklad:

  • Sqr(4) vráti hodnotu 2;
  • Sqr(16) vráti hodnotu 4.
časVráti aktuálny systémový čas.
UboundVráti horný index zadanej dimenzie poľa.

Poznámka: Pre viacrozmerné polia môže byť voliteľným argumentom index, ktorý rozmer sa má vrátiť. Ak nie je zadaný, predvolená hodnota je 1.

rokVráti celé číslo zodpovedajúce roku daného dátumu. Príklad: Rok(«29/01/2015») vráti hodnotu 2015.

Tento zoznam obsahuje iba výber najbežnejšie používaných vstavaných funkcií Excel Visual Basic. Úplný zoznam funkcií jazyka VBA, ktoré sú k dispozícii na použitie v makrách programu Excel, nájdete na stránke Visual Basic Developer Center.

Nechaj odpoveď