Variant データ型Variant data type

Variant データ型は、DimPrivatePublicStatic などのステートメントを使用して他の何らかの型として明示的に宣言されていないすべての変数に対して使用されるデータ型です。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).

Variant データ型には型宣言文字がありません。The Variant data type has no type-declaration character.

Variant は、固定長文字列データ以外のいずれのデータを格納することができる特殊なデータ型です。A Variant is a special data type that can contain any kind of data except fixed-length String data. (Variant 型はユーザー定義型をサポートするようになりました)。Variant は、特別な値 EmptyErrorNothingNull を格納することもできます。(Variant types now support user-defined types.) A Variant can also contain the special values Empty, Error, Nothing, and Null. VarType 関数または TypeName 関数を使用して、Variant 内でのデータの処理方法を決定できます。You can determine how the data in a Variant is treated by using the VarType function or TypeName function.

数値データは、 負の値は-1.797693134862315E308 から -4.94066E-324 まで、正の値は 4.94066E-324 から 1.797693134862315E308 までのいずれの整数値または実数値を使用できます。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.

一般に、数値Variant データは元のデータ型でVariant 内に保持されます。Generally, numeric Variant data is maintained in its original data type within the Variant. 例えば、整数Variant に代入した場合、以降の操作ではこのVariantInteger として扱われます。For example, if you assign an Integer to a Variant, subsequent operations treat the Variant as an Integer. ただし、ByteIntegerLong、または Single を格納しているVariant 対して算術演算を実行し、結果が元のデータ型の通常の範囲を超えた場合、結果は Variant 内で次に大きいデータ型に昇格されます。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. ByteInteger へ、IntegerLong へ、LongSingleDouble へ昇格されます。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.

CurrencyDecimalDouble の値が格納されている Variant 変数がそれぞれの範囲を超えると、エラーが発生します。An error occurs when Variant variables containing Currency, Decimal, and Double values exceed their respective ranges.

Variant データ型を他の種類のデータ型の代わりに使用することにより、データをより柔軟に処理できます。  You can use the Variant data type in place of any data type to work with data in a more flexible way. Variant 変数の内容が数字の場合は、コンテキストに応じて、数字の文字列表現または実際の値になります。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. 次に例を示します。For example:

Dim MyVar As Variant 
MyVar = 98052 

上の例では、MyVar には 98052 という実際の値の数値表現が格納されています。In the preceding example, MyVar contains a numeric representation—the actual value 98052. 数値または数値として解釈できる文字列データを格納する Variant 変数に対しての算術演算は期待通りに処理されます。Arithmetic operators work as expected on Variant variables that contain numeric values or string data that can be interpreted as numbers. + 演算子を使用して MyVar を、数値が含まれる別の Variant または数値型の変数に加算すると、結果は算術的合計になります。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.

Empty は、初期化されていない (初期値が代入されていない) Variant 変数を示します。The value Empty denotes a Variant variable that hasn't been initialized (assigned an initial value). Empty が格納されている Variant は、数値コンテキストで使用される場合は 0 であり、文字列コンテキストで使用される場合は長さが 0 の文字列 ("") です。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.

EmptyNull を混同しないでください。Don't confuse Empty with Null. Null は、Variant 変数に意図的に有効なデータが格納されていないことを示します。Null indicates that the Variant variable intentionally contains no valid data.

Variant では、Errorプロシージャ内でエラー状態が発生したことを示すために使用される特別な値です。In a Variant, Error is a special value used to indicate that an error condition has occurred in a procedure. ただし、他の種類のエラーとは異なり、通常のアプリケーション レベルのエラー処理は行われません。However, unlike for other kinds of errors, normal application-level error handling does not occur. これにより、ユーザーまたはアプリケーション自体が、エラー値に基づいて代わりの処理を実行できます。This allows you, or the application itself, to take some alternative action based on the error value. Error 値を作成するには、CVErr 関数を使用して実数値をエラー値に変換します。Error values are created by converting real numbers to error values by using the CVErr function.

関連項目See also

サポートとフィードバックSupport and feedback

Office VBA またはこの説明書に関するご質問やフィードバックがありますか?Have questions or feedback about Office VBA or this documentation? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.