Príkaz priradenia je príkaz VBA, ktorý priraďuje výsledok výrazu k premennej alebo objektu. Systém Pomocníka Excelu definuje výraz výraz ako
„... kombinácia kľúčových slov, operátorov, premenných a konštánt, ktorá dáva reťazec, číslo alebo objekt. Výraz možno použiť na vykonanie výpočtu, manipuláciu so znakmi alebo testovanie údajov.“
Veľká časť vašej práce vo VBA zahŕňa vývoj (a ladenie) výrazov. Ak viete, ako vytvárať vzorce v Exceli, nebudete mať problémy s vytváraním výrazov. Pomocou vzorca pracovného hárka Excel zobrazí výsledok v bunke. Na druhej strane výraz VBA možno priradiť k premennej.
Príklady príkazov na zadanie
V príkladoch príkazov priradenia, ktoré nasledujú, sú výrazy napravo od znamienka rovnosti:
x = 1
x = x + 1
x = (y * 2) / (z * 2)
Cena domu = 375 000
FileOpen = True
Rozsah („The Year“). Hodnota = 2016
Výrazy môžu byť také zložité, ako ich potrebujete; použite znak na pokračovanie riadku (medzera, za ktorou nasleduje podčiarknutie), aby sa zdĺhavé výrazy ľahšie čítali.
Výrazy často používajú funkcie: vstavané funkcie VBA, funkcie pracovného hárka Excelu alebo funkcie, ktoré vytvoríte pomocou VBA.
O tom rovnítkom
Ako môžete vidieť v predchádzajúcom príklade, VBA používa znamienko rovnosti ako operátor priradenia. Pravdepodobne ste zvyknutí používať znamienko rovnosti ako matematický symbol rovnosti. Preto príkaz na zadanie, ako je tento, môže spôsobiť, že zdvihnete obočie:
z = z + 1
V akom bláznivom vesmíre sa z rovná sebe samému plus 1? Odpoveď: Žiadny známy vesmír. V tomto prípade príkaz priradenia (po vykonaní) zvýši hodnotu z o 1. Ak je teda z 12, vykonaním príkazu sa z rovná 13. Pamätajte, že priradenie používa znamienko rovnosti ako operátor, nie symbol rovnosti.
Hladké operátory
Operátori hrajú hlavnú úlohu vo VBA. Okrem operátora rovnosti poskytuje VBA niekoľko operátorov. Mali by ste ich poznať, pretože ide o rovnaké operátory používané vo vzorcoch pracovného hárka (okrem operátora Mod).
Funkcia |
Symbol operátora |
Doplnenie |
+ |
Násobenie |
* |
divízie |
/ |
Odčítanie |
– |
Umocňovanie |
^ |
Reťazenie reťazcov |
& |
Celočíselné delenie (výsledok je vždy celé číslo) |
|
Modulo aritmetika (vracia zvyšok
operácie delenia ) |
Mod |
Keď píšete vzorec Excel, robíte modulo aritmetiku pomocou funkcie MOD. Napríklad nasledujúci vzorec vráti 2 (zvyšok, keď vydelíte 12 číslom 5):
=MOD(12;5)
Vo VBA sa operátor Mod používa takto (a z má hodnotu 2):
z = 12 Mod 5
Termín zreťazenie znamená, že programátor hovorí „spojiť sa“. Ak teda spájate struny, kombinujete struny, aby ste vytvorili novú a vylepšenú strunu.
VBA tiež poskytuje úplnú sadu logických operátorov. Z nich sa najčastejšie používajú Not, And a Or.
Operátor |
Čo to robí |
nie |
Vykonáva logickú negáciu výrazu |
A |
Vykonáva logickú spojku na dvoch výrazoch |
Alebo |
Vykonáva logickú disjunkciu dvoch výrazov |
Xor |
Vykoná logické vylúčenie dvoch výrazov |
Eqv |
Vykonáva logickú ekvivalenciu dvoch výrazov |
Imp |
Vykonáva logickú implikáciu na dva výrazy |
Poradie priority operátorov vo VBA je presne rovnaké ako vo vzorcoch Excelu. Umocňovanie má najvyššiu prioritu. Nasleduje násobenie a delenie, po ktorých nasleduje sčítanie a odčítanie. Pomocou zátvoriek môžete zmeniť prirodzené poradie priority, čím sa všetko, čo je vložené do zátvoriek, dostane pred ľubovoľného operátora. Pozrite sa na tento kód:
x = 3
y = 2
z = x + 5 * y
Aká je hodnota z, keď sa vykoná predchádzajúci kód? Ak ste odpovedali 13, získate zlatú hviezdu, ktorá dokazuje, že rozumiete pojmu prednosť operátora. Ak ste odpovedali 16, prečítajte si toto: Najprv sa vykoná operácia násobenia (5 * y) a tento výsledok sa pripočíta k x.
Mnoho programátorov má tendenciu používať zátvorky, aj keď to nie je potrebné. Napríklad v reálnom živote môže byť posledný príkaz napísaný takto:
z = x + (5 * y)
Nehanbite sa používať zátvorky, aj keď nie sú povinné – najmä ak to zjednoduší porozumenie kódu. VBA sa nestará o to, či použijete extra zátvorky.