Zdroj: https://wall.cz/excel-navod/deklarace-promennych-a-prehled-datovych-typu-vba • Vydáno: 2.4.2010 14:57 • Autor: admin
Při psaní maker se neobejdete bez proměnných. Proměnná je dočasný prostor pro uložení dat v programu. Proměnné se deklarují příkazem DIM
. U používaných proměnných je důležité deklarovat správný datový typ. Pokud není definován datový typ, je použit typ Variant.
Podle platnosti proměnné je potřeba pro deklaraci vybrat správný příkaz. Platnost proměnné určuje, ve kterých modulech a procedurách může být proměnná použita.
Rozsah | Jak se proměnná s tímto rozsahem platnosti deklaruje |
Jedna procedura | Pomocí příkazu Dim , Static , nebo Private uvnitř dané procedury |
V rámci procedury | Pomocí příkazu Dim v místě před první procedurou v modulu |
Ve všech modulech | Pomocí příkazu Public |
Abyste se přinutili deklarovat všechny používané proměnné, vložte na první řádek vašeho modulu VBA Option Explicit
. Tento příkaz přiměje váš program, aby se zastavil, kdykoli VBA narazí na název proměnné, který nebyl předem deklarován. VBA vypíše chybu a vy budete muset proměnnou deklarovat.
TIP: Příkaz Option Explicit
se vloží automaticky do modulu VBA, pokud zatrhnete volbu Require Variable Declaration na kartě Editor v dialogovém okně Option.
Datový typ určuje, jakým způsobem budou data uložena v paměti - tedy jako celá čísla, reálná čísla, řetězec a tak dále. Deklarování datového typu má zásadní vliv na rychlost zpracování makra (programu)!
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. |