Proměnné a datové typy ve VBA
Publikováno: 5.6.2017
Deklarace proměnných a konstant, základní přehled datových typů, explicitní deklarace a proměnné v praxi
- datový typ
- Option Explicit
- VBA
Proměnné a konstanty jsou pojmenovaná místa v paměti počítače, na které se odkazujeme pomocí jejich názvů. Jejich smyslem je uchovávat hodnoty, zpřehlednit kód a opakovaně se k nim v průběhu procedury vracet.
Deklarace proměnné
Deklarace proměnné se provádí příkazem Dim na začátku procedury. Za název se zapisuje klauzule As a definuje datový typ (String, Integer, Boolean apod.).
Option Explicit
Sub deklaracePromenne()
Dim název proměnné As datový typ
End Sub
Základní datové typy
Uvedením datového typu ihned na začátku procedury definujeme charakter proměnné. Následující tabulka obsahuje přehled vybraných datových typů
Datový typ | Místo v paměti | Rozsah | Poznámka |
---|---|---|---|
Byte | 1 byte | 0 - 255 | celé číslo |
Boolen | 2 byty | True/False | logická hodnota |
Integer | 2 byty | -32 768 - +32 767 | celé číslo |
Long | 4 byty | -2 147 483 648 - +2 147 483 647 | celé číslo |
Double | 8 bytů | ±1,79769313486232D308 | desetinné číslo |
Date | 8 bytů | 1.1.100 - 31.12.9999 | datum, čas |
Currency | 8 bytů | ±922 337 203 685 477,58 | měna |
String | 10 bytů + délka řetězce | 0 - cca 2 biliony | textový řetězec |
Variant | různé | Datový typ, který není třeba definovat | cokoliv |
Pokud není uveden datový typ při deklaraci proměnné je automaticky definován jako Variant.
Nastavení proměnných v Editoru VBA
Pro přehlednost kódu a prevenci před překlepy v názvech proměnných doporučuji používat příkaz Option Explicit. Tím zabráníte použití nedeklarované proměnné v těle procedury.
Editor VBA pro psaní kódu vyvoláte kombinací kláves Alt + F11 nebo na kartě Vývojář tlačítkem Visual Basic.
Explicitní deklaraci proměnných můžete zautomatizovat nastavením v nabídce Tools/Options, kde na kartě Editor zašktrnete dvoupolohový přepínač Require Variable Declaration.
Deklarace proměnných v praxi
Následující procedura sečte dvě čísla a vypíše výsledek na obrazovku v dialogovém boxu pomocí příkazu Msgbox
Option Explicit
Sub deklaracePromennych()
deklarace proměnných
Dim cislo1 As Long
Dim cislo2 As Long
Dim vysledek As Long
do proměnných CISLO1 a CISLO2 načteme hodnoty z buněk A1 a A2
cislo1 = Cells(1, 1).Value
cislo2 = Cells(1, 2).Value
součet hodnot v proměnných je vložen do proměnné VYSLEDEK
vysledek = cislo1 + cislo2
výpis proměnné VYSLEDEK v dialogovém okně
MsgBox vysledek
End Sub
Deklarace konstanty
Opakem proměnné je konstanta. Konstanta je hodnota, která se v průběhu výkonu procedury nemění. Deklaruje se pomocí příkazu Const na začátku procedury a přiřadí se jí konkrétní hodnota.
Option Explicit
Sub konstanta()
Const název konstanty As datový typ = hodnota
End Sub