VBA VarType

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

Du vil bidra til utvikling av området, dele siden med vennene dine

wave wave wave wave wave