Typ VBA

Tento článok predvedie použitie funkcie VarType vo VBA.

VarType znamená variabilný typ. Funkcii VarType môžeme dodať názov premennej a vráti celé číslo, ktoré zobrazuje typ údajov uložených v danej premennej podľa zoznamu konštánt VBA.

Použitie premennej variantu na nájdenie typu VarType

Premennú môžeme deklarovať ako premennú Variant. To nám umožní uložiť do nich akýkoľvek typ povolených údajov. Potom môžeme túto premennú naplniť a pomocou funkcie VarType zistiť, aký typ údajov sa v premennej nachádza.

Napríklad:

12345 Sub TestVarType ()Dim MyVariable As VariantMyVariable = "Hello World"MsgBox „Typ premennej je“ & VarType (MyVariable)Koniec pod

Tým sa vráti nasledujúce okno so správou:

Vráti sa teda hodnota 8. Toto je v konštante programu Excel, ktorá definuje typ údajov uložených v premennej.

Táto konštantná hodnota zodpovedá nasledujúcej tabuľke:

Konštantný Hodnota Popis
vbEmpty 0 Prázdne (neinicializované)
vbNull 1 Null (žiadne platné údaje)
vbInteger 2 Celé číslo
vbLong 3 Dlhé celé číslo
vbSingle 4 Číslo s pohyblivou rádovou čiarkou s jednoduchou presnosťou
vbDvojnásobok 5 Číslo s dvojitou presnosťou s pohyblivou rádovou čiarkou
vbMena 6 Hodnota meny
vbDate 7 Hodnota dátumu
vbString 8 Reťazec
vbObject 9 Objekt
vbError 10 Hodnota chyby
vbBoolean 11 Booleovská hodnota
vbVariant 12 Varianta (používa sa iba s poliami variantov)
vbDataObject 13 Objekt prístupu k údajom
vbDecimal 14 Desatinná hodnota
vbByte 17 Bajtová hodnota
vbLongLong 20 LongLong integer (platí iba pre 64-bitové platformy)
vbUserDefinedType 36 Varianty, ktoré obsahujú typy definované používateľom
vbArray 8192 Pole (vždy pridané do inej konštanty, keď je vrátené touto funkciou)

Môžeme skúsiť ďalší príklad:

12345 Sub TestVarType ()Dim MyVariable As VariantMyVariable = 32760MsgBox „Typ premennej je“ & VarType (MyVariable)Koniec pod

Okno so správou tentokrát vráti hodnotu 2, pretože typ údajov uložených v premennej je Integer.

Ak však zmeníme hodnotu na 32780, potom bude vrátená hodnota 3 - dlhé celé číslo, pretože typ údajov typu Integer má maximálnu hodnotu 32767; potom je to dlhé celé číslo.

Ak by sme chceli kód znova zmeniť:

12345 Sub TestVarType ()Dim MyVariable As VariantMyVariable = 32760,52MsgBox „Typ premennej je“ & VarType (MyVariable)Koniec pod

Teraz by sa vrátila hodnota 5 - typ údajov je kvôli desatinným miestam dvojnásobný.

Ak by sme vložili hodnotu do premennej do úvodzoviek, potom by sa opäť vrátila 8, pretože akákoľvek hodnota obsiahnutá v úvodzovkách je uložená ako hodnota reťazca.

12345 Sub TestVarType ()Dim MyVariable As VariantMyVariable = "32760,52"MsgBox „Typ premennej je“ & VarType (MyVariable)Koniec pod

Vám pomôže rozvoju miesta, zdieľať stránku s priateľmi

wave wave wave wave wave