Denne artikel vil demonstrere brugen af VarType -funktionen i VBA.
VarType betyder Variabel Type. Vi kan levere variabelens navn til VarType -funktionen, og det vil returnere et helt tal, der viser typen af data, der er gemt i denne variabel ifølge en liste over VBA -konstanter.
Brug af en variantvariabel til at finde VarType
Vi kan erklære en variabel som en variabelvariabel. Dette giver os mulighed for at gemme enhver form for tilladte data i den. Vi kan derefter udfylde denne variabel og bruge VarType -funktionen til at se, hvilken type data der er i variablen.
For eksempel:
12345 | Sub TestVarType ()Dim MyVariable som variantMyVariable = "Hej verden"MsgBox "Variabeltypen er" & VarType (MyVariable)Afslut Sub |
Dette returnerer følgende meddelelsesboks:
Værdien på 8 returneres derfor. Dette i en Excel -konstant, der definerer typen af data, der er gemt i variablen.
Denne konstante værdi svarer til nedenstående tabel:
Konstant | Værdi | Beskrivelse |
---|---|---|
vbTom | 0 | Tom (uinitialiseret) |
vbNull | 1 | Null (ingen gyldige data) |
vbInteger | 2 | Heltal |
vbLang | 3 | Langt heltal |
vbSingle | 4 | Single-precision floating-point nummer |
vbDobbelt | 5 | Dobbeltpræcisions flydende punktnummer |
vbCurrency | 6 | Valuta værdi |
vbDato | 7 | Datoværdi |
vbString | 8 | Snor |
vbObject | 9 | Objekt |
vbError | 10 | Fejlværdi |
vbBoolsk | 11 | Boolsk værdi |
vbVariant | 12 | Variant (bruges kun med arrays af varianter) |
vbDataObject | 13 | Et dataadgangsobjekt |
vbDecimal | 14 | Decimalværdi |
vbByte | 17 | Byte værdi |
vbLangLang | 20 | Langt langt heltal (kun gyldigt på 64-bit platforme) |
vbUserDefinedType | 36 | Varianter, der indeholder brugerdefinerede typer |
vbArray | 8192 | Array (tilføjes altid til en anden konstant, når den returneres af denne funktion) |
Vi kan prøve et andet eksempel:
12345 | Sub TestVarType ()Dim MyVariable som variantMyVariable = 32760MsgBox "Variabeltypen er" & VarType (MyVariable)Afslut Sub |
Denne gang returnerer meddelelsesboksen et 2, da den type data, der er gemt i variablen, er Heltal.
Men hvis vi ændrer værdien til 32780, vil værdireturen være 3 - Langt heltal, da en heltal datatype har en maksimal værdi på 32767; hvorefter det er et langt heltal.
Hvis vi igen skulle ændre koden:
12345 | Sub TestVarType ()Dim MyVariable som variantMyVariable = 32760,52MsgBox "Variabeltypen er" & VarType (MyVariable)Afslut Sub |
Vi ville nu få en værdi på 5, der returneres - datatypen er dobbelt på grund af decimalerne.
Hvis vi skulle sætte værdien i variablen i anførselstegn, ville en 8 igen blive returneret, da enhver værdi indeholdt i anførselstegn gemmes som en strengværdi.
12345 | Sub TestVarType ()Dim MyVariable som variantMyVariable = "32760.52"MsgBox "Variabeltypen er" & VarType (MyVariable)Afslut Sub |