VBA VarType

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

Du kommer att bidra till utvecklingen av webbplatsen, dela sidan med dina vänner

wave wave wave wave wave