Ovaj članak će pokazati uporabu funkcije VarType u VBA.
VarType znači Variable Type. Funkciji VarType možemo dati naziv varijable i ona će vratiti cijeli broj koji prikazuje vrstu podataka pohranjenih u toj varijabli prema popisu VBA konstanti.
Korištenje varijable varijante za pronalaženje tipa VarType
Varijablu možemo proglasiti varijablom Variant. To će nam omogućiti da u nju pohranimo bilo koju vrstu dopuštenih podataka. Zatim možemo popuniti ovu varijablu i upotrijebiti funkciju VarType da vidimo koja je vrsta podataka u varijabli.
Na primjer:
12345 | Pod TestVarType ()Priguši MyVariable kao varijantuMyVariable = "Pozdrav svijetu"MsgBox "Vrsta varijable je" & VarType (MyVariable)Kraj podm |
Ovo će vratiti sljedeći okvir s porukom:
Vrijednost 8 se stoga vraća. Ovo je u Excel konstanti koja definira vrstu podataka koji su pohranjeni u varijabli.
Ova konstantna vrijednost odgovara donjoj tablici:
Konstantno | Vrijednost | Opis |
---|---|---|
vbPrazan | 0 | Prazan (neinicijaliziran) |
vbNull | 1 | Ništa (nema valjanih podataka) |
vbInteger | 2 | Cijeli broj |
vbLong | 3 | Dugi cijeli broj |
vbSingle | 4 | Brojevi s pomičnim zarezom jedne preciznosti |
vbDvostruki | 5 | Broj s pomičnom zarezom dvostruke preciznosti |
vbCurrency | 6 | Vrijednost valute |
vbDate | 7 | Vrijednost datuma |
vbString | 8 | Niz |
vbObject | 9 | Objekt |
vbError | 10 | Vrijednost pogreške |
vbBoolean | 11 | Logička vrijednost |
vbVariant | 12 | Varijanta (koristi se samo s nizovima varijanti) |
vbDataObject | 13 | Objekt za pristup podacima |
vbDecimalno | 14 | Decimalna vrijednost |
vbByte | 17 | Vrijednost bajta |
vbLongLong | 20 | LongLong cijeli broj (vrijedi samo za 64-bitne platforme) |
vbUserDefinedType | 36 | Varijante koje sadrže korisnički definirane vrste |
vbArray | 8192 | Polje (uvijek se dodaje drugoj konstanti kada ga ova funkcija vrati) |
Možemo pokušati s drugim primjerom:
12345 | Pod TestVarType ()Priguši MyVariable kao varijantuMoja promjenjiva = 32760MsgBox "Vrsta varijable je" & VarType (MyVariable)Kraj podm |
Ovaj put okvir za poruku vratit će 2 jer je vrsta podataka pohranjenih u varijabli cijeli broj.
Međutim, ako promijenimo vrijednost na 32780, tada će vrijednost biti 3 - Long Integer jer cijeli podatak tipa Integer ima maksimalnu vrijednost 32767; nakon čega je Dugi cijeli broj.
Ako bismo još jednom promijenili kôd:
12345 | Pod TestVarType ()Priguši MyVariable kao varijantuMoja promjenjiva = 32760,52MsgBox "Vrsta varijable je" & VarType (MyVariable)Kraj podm |
Sada bismo dobili vrijednost 5 koja se vraća - tip podataka je Double zbog decimalnih mjesta.
Ako bismo vrijednost u varijablu stavili u navodnike, tada bi se opet vratilo 8 jer se svaka vrijednost sadržana u navodnicima pohranjuje kao vrijednost niza.
12345 | Pod TestVarType ()Priguši MyVariable kao varijantuMyVariable = "32760.52"MsgBox "Vrsta varijable je" & VarType (MyVariable)Kraj podm |