Ta članek bo prikazal uporabo funkcije VarType v VBA.
VarType pomeni spremenljiv tip. Funkciji VarType lahko posredujemo ime spremenljivke in vrnila bo celo število, ki prikazuje vrsto podatkov, shranjenih v tej spremenljivki, glede na seznam konstant VBA.
Uporaba variabilne spremenljivke za iskanje vrste VarType
Spremenljivko lahko razglasimo kot spremenljivko Variant. To nam bo omogočilo shranjevanje vseh vrst dovoljenih podatkov. To spremenljivko lahko nato zapolnimo in s funkcijo VarType pogledamo, kakšen tip podatkov je v spremenljivki.
Na primer:
12345 | Sub TestVarType ()Zatemni MyVariable kot variantoMyVariable = "Pozdravljeni svet"MsgBox "Vrsta spremenljivke je" & VarType (MyVariable)End Sub |
S tem se vrne naslednje polje s sporočilom:
Zato se vrne vrednost 8. To je v Excelovi konstanti, ki določa vrsto podatkov, ki so shranjeni v spremenljivki.
Ta konstantna vrednost ustreza spodnji tabeli:
Konstantno | Vrednost | Opis |
---|---|---|
vbEmpty | 0 | Prazno (neinicializirano) |
vbNull | 1 | Nič (ni veljavnih podatkov) |
vbInteger | 2 | Celo število |
vbLong | 3 | Dolgo celo število |
vbSam | 4 | Številka s plavajočo vejico z eno natančnostjo |
vbDvojno | 5 | Dvojno natančna številka s plavajočo vejico |
vbCurrency | 6 | Vrednost valute |
vbDate | 7 | Vrednost datuma |
vbString | 8 | Vrvica |
vbObject | 9 | Objekt |
vbError | 10 | Vrednost napake |
vbBoolean | 11 | Logična vrednost |
vbVariant | 12 | Različica (uporablja se samo z nizi različic) |
vbDataObject | 13 | Objekt za dostop do podatkov |
vbDecimal | 14 | Decimalna vrednost |
vbByte | 17 | Vrednost bajta |
vbLongLong | 20 | LongLong celo število (velja samo za 64-bitne platforme) |
vbUserDefinedType | 36 | Variante, ki vsebujejo uporabniško določene vrste |
vbArray | 8192 | Polje (vedno dodano drugi konstanti, ko ga vrne ta funkcija) |
Lahko poskusimo z drugim primerom:
12345 | Sub TestVarType ()Zatemni MyVariable kot variantoMyVariable = 32760MsgBox "Vrsta spremenljivke je" & VarType (MyVariable)End Sub |
Tokrat bo sporočilo vrnilo 2, saj je vrsta podatkov, ki so shranjeni v spremenljivki, Integer.
Če pa vrednost spremenimo na 32780, bo vrnitev vrednosti 3 - Long Integer, saj ima podatkovni tip Integer največjo vrednost 32767; po tem je dolgo celo število.
Če bi kodo še enkrat spremenili:
12345 | Sub TestVarType ()Zatemni MyVariable kot variantoMyVariable = 32760,52MsgBox "Vrsta spremenljivke je" & VarType (MyVariable)End Sub |
Zdaj bi dobili vrnjeno vrednost 5 - tip podatkov je zaradi decimalnih mest dvakrat.
Če bi vrednost v spremenljivki dali v narekovaje, bi spet vrnili 8, saj je vsaka vrednost v narekovajih shranjena kot vrednost niza.
12345 | Sub TestVarType ()Zatemni MyVariable kot variantoMyVariable = "32760.52"MsgBox "Vrsta spremenljivke je" & VarType (MyVariable)End Sub |