Denna artikel kommer att visa användningen av VarType -funktionen i VBA.
VarType betyder Variabel typ. Vi kan ge variabelns namn till VarType -funktionen, och det kommer att returnera ett heltal som visar typen av data som lagras i den variabeln enligt en lista över VBA -konstanter.
Använda en variantvariabel för att hitta VarType
Vi kan deklarera en variabel som en variantvariabel. Detta gör att vi kan lagra alla typer av tillåtna data i den. Vi kan sedan fylla i denna variabel och använda VarType -funktionen för att se vilken typ av data som finns i variabeln.
Till exempel:
12345 | Sub TestVarType ()Dim MyVariable som variantMyVariable = "Hej världen"MsgBox "Typen av variabel är" & VarType (MyVariable)Avsluta Sub |
Detta kommer att returnera följande meddelanderuta:
Värdet 8 returneras därför. Detta i en Excel -konstant som definierar vilken typ av data som lagras i variabeln.
Detta konstanta värde motsvarar tabellen nedan:
Konstant | Värde | Beskrivning |
---|---|---|
vbTom | 0 | Tom (oinitialiserad) |
vbNull | 1 | Null (inga giltiga data) |
vbInteger | 2 | Heltal |
vbLång | 3 | Långt heltal |
vbSingle | 4 | Flytpunktsnummer med en precision |
vbDubbel | 5 | Dubbel precision flytande punkt nummer |
vbCurrency | 6 | Valutavärde |
vbDatum | 7 | Datumvärde |
vbString | 8 | Sträng |
vbObject | 9 | Objekt |
vbError | 10 | Felvärde |
vbBoolean | 11 | Boolskt värde |
vbVariant | 12 | Variant (används endast med matriser av varianter) |
vbDataObject | 13 | Ett dataåtkomstobjekt |
vbDecimal | 14 | Decimalvärde |
vbByte | 17 | Byte värde |
vbLongLong | 20 | Långt långt heltal (endast giltigt på 64-bitars plattformar) |
vbUserDefinedType | 36 | Varianter som innehåller användardefinierade typer |
vbArray | 8192 | Array (läggs alltid till en annan konstant när den returneras av denna funktion) |
Vi kan prova ett annat exempel:
12345 | Sub TestVarType ()Dim MyVariable som variantMyVariable = 32760MsgBox "Typen av variabel är" & VarType (MyVariable)Avsluta Sub |
Den här gången returnerar meddelandefältet en 2 eftersom typen av data som lagras i variabeln är heltal.
Men om vi ändrar värdet till 32780 blir värdet avkastning 3 - Långt heltal då en datatyp av heltal har ett maximivärde på 32767; varefter det är ett långt heltal.
Om vi än en gång skulle ändra koden:
12345 | Sub TestVarType ()Dim MyVariable som variantMyVariable = 32760,52MsgBox "Typen av variabel är" & VarType (MyVariable)Avsluta Sub |
Vi skulle nu få ett värde på 5 som returneras - datatypen är dubbel på grund av decimalerna.
Om vi skulle sätta värdet i variabeln i citattecken, skulle återigen ett 8 returneras eftersom valfritt värde i citattecken lagras som ett strängvärde.
12345 | Sub TestVarType ()Dim MyVariable som variantMyVariable = "32760.52"MsgBox "Typen av variabel är" & VarType (MyVariable)Avsluta Sub |