Variant-DatentypVariant data type

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).The Variant data type is the data type for all variables that are not explicitly declared as some other type (using statements such as Dim, Private, Public, or Static).

Der Datentyp Variant hat kein Typdeklarationszeichen.The Variant data type has no type-declaration character.

Variant ist ein spezieller Datentyp, der alle Datentypen außer String-Daten mit fester Länge enthalten kann.A Variant is a special data type that can contain any kind of data except fixed-length String data. (Variant-Datentypen unterstützen jetzt benutzerdefinierte Typen.) Ein Variant kann auch die Sonderwerte Empty (leer), Error (Fehler), Nothing (nichts), und Null enthalten.(Variant types now support user-defined types.) A Variant can also contain the special values Empty, Error, Nothing, and Null. Sie können bestimmen, wie die Daten in einem Variant-Datentyp mit der VarType-Funktion oder TypeName-Funktion behandelt werden.You can determine how the data in a Variant is treated by using the VarType function or TypeName function.

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.Numeric data can be any integer or real number value ranging from -1.797693134862315E308 to -4.94066E-324 for negative values and from 4.94066E-324 to 1.797693134862315E308 for positive values.

Im Allgemeinen werden numerische Variant-Daten mit ihrem ursprünglichen Datentyp innerhalb des Variant-Datentyps beibehalten.Generally, numeric Variant data is maintained in its original data type within the Variant. Wenn Sie beispielsweise eine ganze Zahl einemVariant zuweisen, behandeln nachfolgende Operationen den Variant als ganze Zahl.For example, if you assign an Integer to a Variant, subsequent operations treat the Variant as an Integer. 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.However, if an arithmetic operation is performed on a Variant containing a Byte, an Integer, a Long, or a Single, and the result exceeds the normal range for the original data type, the result is promoted within the Variant to the next larger data type. Byte wird auf Integer, Integer auf Long und Long sowie Single werden auf Double höhergestuft.A Byte is promoted to an Integer, an Integer is promoted to a Long, and a Long and a Single are promoted to a Double.

Ein Fehler tritt auf, wenn Variant-Variablen, die Werte vom Typ Currency, Decimal und Double enthalten, ihren jeweiligen Bereich überschreiten.An error occurs when Variant variables containing Currency, Decimal, and Double values exceed their respective ranges.

Sie können den Variant-Datentyp anstelle anderer Datentypen verwenden, um auf flexiblere Weise mit Daten zu arbeiten.You can use the Variant data type in place of any data type to work with data in a more flexible way. 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.If the contents of a Variant variable are digits, they may be either the string representation of the digits or their actual value, depending on the context. Beispiel:For example:

Dim MyVar As Variant 
MyVar = 98052 

Im vorherigen Beispiel enthält MyVar eine numerische Darstellung – den tatsächlichen Wert 98052.In the preceding example, MyVar contains a numeric representation—the actual value 98052. Arithmetische Operatoren funktionieren erwartungsgemäß für Variant-Variablen mit numerischen Werten oder Zeichenfolgendaten, die als Zahlen interpretiert werden können.Arithmetic operators work as expected on Variant variables that contain numeric values or string data that can be interpreted as numbers. 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.If you use the + operator to add MyVar to another Variant containing a number or to a variable of a numeric type, the result is an arithmetic sum.

Der Wert Empty (leer) steht für eine Variant-Variable, die nicht initialisiert wurde (Zuweisung eines Anfangswerts).The value Empty denotes a Variant variable that hasn't been initialized (assigned an initial value). 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.A Variant containing Empty is 0 if it is used in a numeric context, and a zero-length string ("") if it is used in a string context.

Verwechseln Sie Empty (Leer) nicht mit Null.Don't confuse Empty with Null. Mit **Null ** wird angegeben, dass die Variant-Variable absichtlich keine gültigen Daten enthält.Null indicates that the Variant variable intentionally contains no valid data.

Bei Variant ist Error (Fehler) ein spezieller Wert, mit dem angegeben wird, dass in einer Prozedur eine Fehlerbedingung aufgetreten ist.In a Variant, Error is a special value used to indicate that an error condition has occurred in a procedure. Es wird jedoch nicht wie bei anderen Arten von Fehlern üblich eine normale Fehlerbehandlung auf Anwendungsebene durchgeführt.However, unlike for other kinds of errors, normal application-level error handling does not occur. Dies ermöglicht Ihnen oder der Anwendung selbst je nach Fehlerwert die Ergreifung alternativer Maßnahmen.This allows you, or the application itself, to take some alternative action based on the error value. Error-Werte werden erstellt, indem reelle Zahlen mit der CVErr-Funktion in Fehlerwerte konvertiert werden.Error values are created by converting real numbers to error values by using the CVErr function.

Siehe auchSee also

Support und FeedbackSupport and feedback

Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation?Have questions or feedback about Office VBA or this documentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.