Variant-Datentyp

Der Datentyp Variant ist der Datentyp für alle Variablen, die nicht explizit als anderer Typ deklariert werden (mit Anweisungen wie Dim, Private, Public oder Static).

Der Datentyp Variant hat kein Typdeklarationszeichen.

Variant ist ein spezieller Datentyp, der alle Datentypen außer String-Daten mit fester Länge enthalten kann. (Variant-Datentypen unterstützen jetzt benutzerdefinierte Typen.) Ein Variant kann auch die Sonderwerte Empty (leer), Error (Fehler), Nothing (nichts), und Null enthalten. Sie können bestimmen, wie die Daten in einem Variant-Datentyp mit der VarType-Funktion oder TypeName-Funktion behandelt werden.

Verwenden Sie die Funktion VarType, um zu prüfen, welcher Typ von Daten in einer Variante vorgehalten wird.

Numerische Daten sind beliebige Ganzzahlen oder reelle Zahlenwerte im Bereich von -1,797693134862315E308 bis -4,94066E-324 für negative Werte und von 4,94066E-324 bis 1,797693134862315E308 für positive Werte.

Im Allgemeinen werden numerische Variant-Daten mit ihrem ursprünglichen Datentyp innerhalb des Variant-Datentyps beibehalten. Wenn Sie beispielsweise eine ganze Zahl einemVariant zuweisen, behandeln nachfolgende Operationen den Variant als ganze Zahl. Wenn jedoch eine arithmetische Operation für einen Variant-Datentyp ausgeführt wird, der wiederum einen Byte-, Integer-, Long- oder Single-Datentyp enthält, und das Ergebnis den normalen Bereich für den ursprünglichen Datentyp überschreitet, wird das Ergebnis innerhalb des Variant-Datentyps auf den nächstgrößeren Datentyp höhergestuft. Byte wird auf Integer, Integer auf Long und Long sowie Single werden auf Double höhergestuft.

Ein Fehler tritt auf, wenn Variant-Variablen, die Werte vom Typ Currency, Decimal und Double enthalten, ihren jeweiligen Bereich überschreiten.

Verwenden Sie den Datentyp Variant anstelle eines beliebigen Datentyps, um flexibler mit Daten zu arbeiten. Wenn der Inhalt einer Variant-Variablen aus Ziffern besteht, kann dies je nach Kontext entweder die Zeichenfolgendarstellung der Ziffern oder ihr tatsächlicher Wert sein. Beispiel:

Dim MyVar As Variant 
MyVar = 98052 

Im vorherigen Beispiel enthält MyVar eine numerische Darstellung – den tatsächlichen Wert 98052. Arithmetische Operatoren funktionieren erwartungsgemäß für Variant-Variablen mit numerischen Werten oder Zeichenfolgendaten, die als Zahlen interpretiert werden können. Wenn Sie den Operator + zum Hinzufügen von MyVar zu einem anderen Variant-Wert mit einer Zahl oder Variablen mit einem numerischem Typ hinzufügen, ist das Ergebnis eine arithmetische Summe.

Der Wert Empty (leer) steht für eine Variant-Variable, die nicht initialisiert wurde (Zuweisung eines Anfangswerts). Ein Wert vom Typ Variant, der Empty (Leer) enthält, ist 0, wenn er in einem numerischen Kontext verwendet wird, und eine Zeichenfolge mit Nulllänge (""), wenn er in einem Zeichenfolgenkontext verwendet wird.

Verwechseln Sie Empty (Leer) nicht mit Null. Mit Null wird angegeben, dass die Variant-Variable absichtlich keine gültigen Daten enthält.

Bei Variant ist Error (Fehler) ein spezieller Wert, mit dem angegeben wird, dass in einer Prozedur eine Fehlerbedingung aufgetreten ist. Es wird jedoch nicht wie bei anderen Arten von Fehlern üblich eine normale Fehlerbehandlung auf Anwendungsebene durchgeführt. Dies ermöglicht Ihnen oder der Anwendung selbst je nach Fehlerwert die Ergreifung alternativer Maßnahmen. Error-Werte werden erstellt, indem reelle Zahlen mit der CVErr-Funktion in Fehlerwerte konvertiert werden.

Siehe auch

Support und Feedback

Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.