Denne artikkelen vil demonstrere bruken av VarType -funksjonen i VBA.
VarType betyr Variabel Type. Vi kan levere variabelens navn til VarType -funksjonen, og det vil returnere et helt tall som viser typen data som er lagret i den variabelen i henhold til en liste over VBA -konstanter.
Bruke en variantvariabel for å finne VarType
Vi kan deklarere en variabel som en variantvariabel. Dette vil tillate oss å lagre alle typer tillatte data i den. Vi kan deretter fylle ut denne variabelen og bruke VarType -funksjonen for å se hvilken type data som er i variabelen.
For eksempel:
12345 | Sub TestVarType ()Dim MyVariable som variantMyVariable = "Hei verden"MsgBox "Variabeltypen er" & VarType (MyVariable)Slutt Sub |
Dette vil returnere følgende meldingsboks:
Verdien på 8 returneres derfor. Dette i en Excel -konstant som definerer typen data som er lagret i variabelen.
Denne konstante verdien tilsvarer tabellen nedenfor:
Konstant | Verdi | Beskrivelse |
---|---|---|
vbTom | 0 | Tom (uinitialisert) |
vbNull | 1 | Null (ingen gyldige data) |
vbInteger | 2 | Heltall |
vbLang | 3 | Langt heltall |
vbSingle | 4 | Enkelt presisjon flytende nummer |
vbDobbelt | 5 | Dobbel presisjon flytende tall |
vbCurrency | 6 | Valuta verdi |
vbDato | 7 | Datoverdi |
vbString | 8 | String |
vbObject | 9 | Gjenstand |
vbError | 10 | Feilverdi |
vbBoolsk | 11 | Boolsk verdi |
vbVariant | 12 | Variant (brukes bare med matriser av varianter) |
vbDataObject | 13 | Et datatilgangsobjekt |
vbDesimal | 14 | Desimalverdi |
vbByte | 17 | Byteverdi |
vbLangLang | 20 | Langt langt heltall (kun gyldig på 64-biters plattformer) |
vbUserDefinedType | 36 | Varianter som inneholder brukerdefinerte typer |
vbArray | 8192 | Array (legges alltid til en annen konstant når den returneres av denne funksjonen) |
Vi kan prøve et annet eksempel:
12345 | Sub TestVarType ()Dim MyVariable som variantMyVariable = 32760MsgBox "Variabeltypen er" & VarType (MyVariable)Slutt Sub |
Denne gangen vil meldingsboksen returnere et 2 ettersom datatypen som er lagret i variabelen er Heltall.
Imidlertid, hvis vi endrer verdien til 32780, vil verdien avkastning være 3 - Langt heltall da en heltall -datatype har en maksimalverdi på 32767; hvoretter det er et langt heltall.
Hvis vi nok en gang skulle endre koden:
12345 | Sub TestVarType ()Dim MyVariable som variantMyVariable = 32760,52MsgBox "Variabeltypen er" & VarType (MyVariable)Slutt Sub |
Vi vil nå få en verdi på 5 som returneres - datatypen er dobbel på grunn av desimalene.
Hvis vi skulle sette verdien i variabelen i anførselstegn, ville en 8 igjen bli returnert ettersom enhver verdi i anførselstegn lagres som en strengverdi.
12345 | Sub TestVarType ()Dim MyVariable som variantMyVariable = "32760.52"MsgBox "Variabeltypen er" & VarType (MyVariable)Slutt Sub |