Proměnná je dočasný prostor pro uložení dat v programu. Proměnné ve VBA můžete deklarovat dvěma způsoby:
Pro proměnnou rezervujeme za běhu programu prostor v paměti pro uložení proměnné. Explicitní deklarace proměnné se zapisuje před jejím vlastním použitím, zpravidla na začátku procedury události. Deklarace začíná příkazem Dim (v podstatě znamená dimenze nebo dimenzovat). V deklaraci můžeme sdělit VBA jaký typ dat budeme používat (není povinné). Neuvedeme-li v deklaraci typ proměnné je automaticky použit implicitní typ dat Variant - může obsahovat data libovolného typu a velikosti.
Dim Prijmeni As String
Prijmeni = "Karel IV"
Jedná se o deklaraci proměnné bez příkazu Dim. Implicitní deklarace znamená, že proměnnou přímo použijeme v programu (viz příklad). Implicitní deklarace má výhodu rychlejšího zápisu programového kódu, ale nese s sebou určitá rizika. Hlavním rizikem je to, že VBA při použití implicitních deklarací nepovažuje za chybu případný překlep ve jménu proměnné a považuje překlep za deklaraci nové proměnné.
Jmeno = "Pepa"
Napište klíčové slovo Const, za ním jméno konstanty, operátor přiřazení a pevnou hodnotu. Například:
Const Pi = 3.14
Datový typ | Velikost paměti | Rozsah |
Byte | 1 bajt | 0 až 255 |
Boolean | 2 bajty | True nebo False |
Integer | 2 bajty | -32 768 až 32 767 |
Long (dlouhé celé číslo) | 4 bajty | -2 147 483 648 až 2 147 483 647 |
Single (pohyblivá čárka s jednoduchou přesností) | 4 bajty | -3,402823E38 až -1,401298E-45 pro záporné hodnoty; 1,401298E-45 až 3,402823E38 pro kladné hodnoty |
Double | 8 bajtů | -1,79769313486232E308 až -4,94065645841247E-324 pro záporné hodnoty |
(pohyblivá čárka s dvojitou přesností) | 4,94065645841247E-324 až 1,79769313486232E308 pro kladné hodnoty | |
Currency (stupňované celé číslo) | 8 bajtů | -922 337 203 685 477,5808 až 922 337 203 685 477,5807 |
Decimal | 14 bajtů | +/-79 228 162 514 264 337 593 543 950 335 bez desetinné čárky; |
+/-7,9228162514264337593543950335 s 28 místy napravo od desetinné čárky; nejmenší číslo různé od nuly je +/-0,0000000000000000000000000001. | ||
Date | 8 bajtů | Od 1. ledna 100 do 31. prosince 9999 |
Object | 4 bajty | Libovolný odkaz na Object |
String (s proměnlivou délkou) | 10 bajtů + délka řetězce | Od 0 do přibližně 2 miliard |
String (s pevnou délkou) | délka řetězce | Od 1 do přibližně 65 400 |
Variant (s čísly) | 16 bajtů | Libovolná číselná hodnota až do rozsahu typu Double |
Variant (se znaky) | 22 bajtů+ délka řetězce | Stejný rozsah jako pro typ String s proměnlivou délkou |
Uživatelský (používá se Type) | Počet potřebný pro prvek | Rozsah každého prvku je stejný jako rozsah jeho datového typu. |
VBA obsahuje několik typů operátorů (aritmetické, logické, relační a spojovací). V následujícím výkladu uvedu pouze jejich přehled a příklad použití, pro podrobnější informace se obraťte na Nápovědu VBA.
Operátor ^ | - umocnění | |
výsledek = číslo ^ exponent | ||
Operátor * | - násobení | |
výsledek = číslo1 * číslo2 | ||
Operátor / | - dělení | |
výsledek = číslo1 / číslo2 | ||
Operátor \ | - celočíselné dělení | |
výsledek = číslo1 \ číslo2 | ||
Operátor Mod | - zbytek po dělení (celočíselném) | |
výsledek = číslo1 Mod číslo2 | ||
Operátor + | - Sčítání | |
výsledek = výraz1 + výraz2 | ||
Operátor - | - Odečítání | |
výsledek = číslo1 – číslo2 |
Operátor < | - menší než | |
Operátor <= | - menší nebo rovno | |
Operátor > | - větší než | |
Operátor >= | - větší nebo rovno | |
Operátor <> | - nerovná se | |
Operátor = | - rovná se | |
Operátor Is | - používá se k porovnání odkazů na objekty ve dvou proměnných. | |
Operátor Like | - používá se k porovnání dvou řetězců. |
Příklady syntaxe použití relačních operátorů:
výsledek = výraz1 relační operátor výraz2 výsledek = objekt1 Is objekt2 výsledek = řetězec Like vzorek
Poznámka: Operátory Is a Like nelze použít v příkazu Select Case.
Operátor & | - používá se k vynucení spojení řetězců dvou výrazů. | |
výsledek = výraz1 & výraz2 | ||
Operátor + | - spojení dvou výrazů (pokud alespoň jeden typu string) | |
výsledek = výraz1 + výraz2 |
Operátor And | - používá se k provedení logické kombinace (součinu) dvou výrazů. | |
výsledek = výraz1 And výraz2 | ||
Operátor Eqv | - používá se k porovnání logické shody dvou výrazů. | |
výsledek = výraz1 Eqv výraz2 | ||
Operátor Imp | - používá se k provedení logické implikace dvou výrazů. | |
výsledek = výraz1 Imp výraz2 | ||
Operátor Not | - používá se k provedení logické negace výrazu. | |
výsledek = Not výraz | ||
Operátor Or | - používá se k provedení logické disjunkce dvou výrazů. | |
výsledek = výraz1 Or výraz2 | ||
Operátor Xor | - používá se k provedení výhradní logické disjunkce dvou výrazů. | |
[výsledek =] výraz1 Xor výraz2 |
Převod řetězce na celočíselný údaj se uskuteční pomocí funkce val. Ukázka převedení řetězce "3.14159" na číslo:
Pi = Val("3.14159")