Příkaz přiřazení je příkaz jazyka VBA, který přiřazuje výsledek výrazu proměnné nebo objektu. Systém nápovědy aplikace Excel definuje výraz výraz jako
„…kombinace klíčových slov, operátorů, proměnných a konstant, která dává řetězec, číslo nebo objekt. Výraz lze použít k provedení výpočtu, manipulaci se znaky nebo testovacím datům.“
Velká část vaší práce ve VBA zahrnuje vývoj (a ladění) výrazů. Pokud víte, jak vytvářet vzorce v Excelu, nebudete mít problémy s vytvářením výrazů. Pomocí vzorce listu Excel zobrazí výsledek v buňce. Na druhou stranu výraz VBA lze přiřadit proměnné.
Příklady příkazů zadání
V příkladech příkazů přiřazení, které následují, jsou výrazy napravo od rovnítka:
x = 1
x = x + 1
x = (y * 2) / (z * 2)
Náklady na dům = 375 000
FileOpen = True
Rozsah („The Year“). Hodnota = 2016
Výrazy mohou být tak složité, jak potřebujete; použijte znak pro pokračování řádku (mezera následovaná podtržítkem), aby byly dlouhé výrazy snadněji čitelné.
Výrazy často používají funkce: vestavěné funkce jazyka VBA, funkce listu aplikace Excel nebo funkce, které vyvíjíte pomocí jazyka VBA.
O tom rovnítko
Jak můžete vidět v předchozím příkladu, jazyk VBA používá jako operátor přiřazení rovnítko. Pravděpodobně jste zvyklí používat rovnítko jako matematický symbol rovnosti. Proto příkaz přiřazení, jako je následující, může způsobit, že zvednete obočí:
z = z + 1
V jakém bláznivém vesmíru je z rovno sobě samému plus 1? Odpověď: Žádný známý vesmír. V tomto případě příkaz přiřazení (při provedení) zvýší hodnotu z o 1. Pokud je tedy z 12, provedení příkazu způsobí, že se z rovná 13. Nezapomeňte, že přiřazení používá rovnítko jako operátor, nikoli symbol rovnosti.
Hladké operátory
Operátoři hrají hlavní roli ve VBA. Kromě operátoru rovnítka nabízí VBA několik operátorů. Měli byste je znát, protože se jedná o stejné operátory používané ve vzorcích listu (kromě operátoru Mod).
Funkce |
Symbol operátora |
Přidání |
+ |
Násobení |
* |
Divize |
/ |
Odčítání |
– |
Umocňování |
^ |
Zřetězení řetězců |
& |
Celočíselné dělení (výsledkem je vždy celé číslo) |
|
Modulo aritmetika (vrací zbytek
operace dělení ) |
Mod |
Když píšete vzorec Excel, provádíte modulo aritmetiku pomocí funkce MOD. Například následující vzorec vrátí 2 (zbytek, když vydělíte 12 5):
=MOD(12;5)
Ve VBA se operátor Mod používá takto (a z má hodnotu 2):
z = 12 Mod 5
Termín zřetězení znamená, že programátor mluví pro „spojit se“. Pokud tedy řetězce zřetězujete, kombinujete řetězce a vytváříte nový a vylepšený řetězec.
VBA také poskytuje úplnou sadu logických operátorů. Z nich se nejčastěji používají Not, And a Or.
Operátor |
Co to dělá |
Ne |
Provede logickou negaci výrazu |
A |
Provede logickou spojku na dvou výrazech |
Nebo |
Provede logickou disjunkci na dvou výrazech |
Xor |
Provede logické vyloučení dvou výrazů |
Eqv |
Provede logickou ekvivalenci na dvou výrazech |
Imp |
Provede logickou implikaci na dva výrazy |
Pořadí priorit operátorů ve VBA je přesně stejné jako ve vzorcích Excelu. Umocňování má nejvyšší prioritu. Následuje násobení a dělení, následuje sčítání a odčítání. Pomocí závorek můžete změnit přirozené pořadí priority, takže vše, co je vloženo do závorek, bude předcházet libovolnému operátoru. Podívejte se na tento kód:
x = 3
y = 2
z = x + 5 * y
Jaká je hodnota z, když je proveden předchozí kód? Pokud jste odpověděli 13, získáte zlatou hvězdu, která dokazuje, že rozumíte pojmu přednost operátora. Pokud jste odpověděli 16, přečtěte si toto: Nejprve se provede operace násobení (5 * y) a výsledek se přičte k x.
Mnoho programátorů má tendenci používat závorky, i když nejsou vyžadovány. Například v reálném životě by mohl být poslední příkaz zadání zapsán takto:
z = x + (5 * y)
Neostýchejte se používat závorky, i když nejsou vyžadovány – zvláště pokud to usnadňuje pochopení kódu. VBA se nestará o to, jestli používáte extra závorky.