In diesem Artikel wird die Verwendung der VarType-Funktion in VBA demonstriert.
VarType bedeutet Variablentyp. Wir können der VarType-Funktion den Namen der Variablen übergeben, und sie gibt eine ganze Zahl zurück, die den in dieser Variablen gespeicherten Datentyp gemäß einer Liste von VBA-Konstanten darstellt.
Verwenden einer Variant-Variablen, um den VarType zu finden
Wir können eine Variable als Variant-Variable deklarieren. Auf diese Weise können wir jede Art von zulässigen Daten darin speichern. Wir können dann diese Variable füllen und die VarType-Funktion verwenden, um zu sehen, welcher Datentyp in der Variablen enthalten ist.
Zum Beispiel:
12345 | Unter TestVarType()Dim MyVariable als VarianteMyVariable = "Hallo Welt"MsgBox "Der Variablentyp ist " & VarType(MyVariable)End Sub |
Dadurch wird das folgende Meldungsfeld zurückgegeben:
Daher wird der Wert 8 zurückgegeben. Dies in einer Excel-Konstante, die den Datentyp definiert, der in der Variablen gespeichert wird.
Dieser konstante Wert entspricht der folgenden Tabelle:
Konstante | Wert | Beschreibung |
---|---|---|
vbLeer | 0 | Leer (nicht initialisiert) |
vbNull | 1 | Null (keine gültigen Daten) |
vbInteger | 2 | Ganze Zahl |
vbLong | 3 | Lange ganze Zahl |
vbSingle | 4 | Gleitkommazahl mit einfacher Genauigkeit |
vbDoppel | 5 | Gleitkommazahl mit doppelter Genauigkeit |
vbWährung | 6 | Wert der Währung |
vbDate | 7 | Datumswert |
vbString | 8 | Zeichenfolge |
vbObject | 9 | Objekt |
vbError | 10 | Fehlerwert |
vbBoolean | 11 | Boolescher Wert |
vbVariante | 12 | Variante (wird nur bei Arrays von Varianten verwendet) |
vbDataObject | 13 | Ein Datenzugriffsobjekt |
vbDezimal | 14 | Dezimalwert |
vbByte | 17 | Bytewert |
vbLongLong | 20 | LongLong Integer (nur auf 64-Bit-Plattformen gültig) |
vbUserDefinedType | 36 | Varianten, die benutzerdefinierte Typen enthalten |
vbArray | 8192 | Array (wird immer zu einer anderen Konstanten hinzugefügt, wenn sie von dieser Funktion zurückgegeben wird) |
Wir können ein anderes Beispiel versuchen:
12345 | Unter TestVarType()Dim MyVariable als VarianteMeineVariable = 32760MsgBox "Der Variablentyp ist " & VarType(MyVariable)End Sub |
Diesmal gibt das Meldungsfeld eine 2 zurück, da der in der Variable gespeicherte Datentyp Integer ist.
Wenn wir den Wert jedoch auf 32780 ändern, ist der Rückgabewert 3 - Long Integer, da ein Integer-Datentyp einen maximalen Wert von 32767 hat; danach ist es ein Long Integer.
Wenn wir den Code noch einmal ändern würden:
12345 | Unter TestVarType()Dim MyVariable als VarianteMeineVariable = 32760.52MsgBox "Der Variablentyp ist " & VarType(MyVariable)End Sub |
Wir würden jetzt einen Wert von 5 zurückbekommen - der Datentyp ist aufgrund der Dezimalstellen Double.
Wenn wir den Wert in der Variablen in Anführungszeichen setzen würden, würde wieder eine 8 zurückgegeben, da jeder in Anführungszeichen enthaltene Wert als Zeichenfolgenwert gespeichert wird.
12345 | Unter TestVarType()Dim MyVariable als VarianteMeineVariable = "32760.52"MsgBox "Der Variablentyp ist " & VarType(MyVariable)End Sub |