Používání proměnných a operátorů

Přehled informací

Možné způsoby deklarace proměnné ve Visual Basicu pro Aplikace

Proměnná je dočasný prostor pro uložení dat v programu. Proměnné ve VBA můžete deklarovat dvěma způsoby:

Explicitní deklarace proměnné

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.

Příklad explicitní deklarace proměnné Prijmeni datového typu String

                   Dim Prijmeni As String

Příklad přiřazení hodnoty do proměnné Prijmeni

                   Prijmeni = "Karel IV"

Implicitní deklarace proměnné

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é.

Příklad implicitní deklarace proměnné Jmeno

                   Jmeno = "Pepa"

Konstanty ve Visual Basicu pro Aplikace

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

Přehled datových typů Visual Basicu pro Aplikace

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.

Používání operátorů

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.

Aritmetické operátory používané ve 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

Relační operátory používané ve VBA

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.

Spojovací operátory používané ve VBA

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

Logické operátory používané ve VBA

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říklad - Převedení řetězce na číselný údaj

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")