Variant データ型

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

Variant データ型には型宣言文字がありません。

Variant は、固定長文字列データ以外のいずれのデータを格納することができる特殊なデータ型です。 (Variant 型はユーザー定義型をサポートするようになりました)。Variant は、特別な値 EmptyErrorNothingNull を格納することもできます。 VarType 関数または TypeName 関数を使用して、Variant 内でのデータの処理方法を決定できます。

VarType 関数を使用して、どのようなデータの種類がバリアント型で保持されているかをテストします。

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

一般に、数値Variant データは元のデータ型でVariant 内に保持されます。 例えば、整数Variant に代入した場合、以降の操作ではこのVariantInteger として扱われます。 ただし、ByteIntegerLong、または Single を格納しているVariant 対して算術演算を実行し、結果が元のデータ型の通常の範囲を超えた場合、結果は Variant 内で次に大きいデータ型に昇格されます。 ByteInteger へ、IntegerLong へ、LongSingleDouble へ昇格されます。

CurrencyDecimalDouble の値が格納されている Variant 変数がそれぞれの範囲を超えると、エラーが発生します。

Variant データ型を他の種類のデータ型の代わりに使用して、データをより柔軟に処理します。  Variant 変数の内容が数字の場合は、コンテキストに応じて、数字の文字列表現または実際の値になります。 次に例を示します。

Dim MyVar As Variant 
MyVar = 98052 

上の例では、MyVar には 98052 という実際の値の数値表現が格納されています。 数値または数値として解釈できる文字列データを格納する Variant 変数に対しての算術演算は期待通りに処理されます。 + 演算子を使用して MyVar を、数値が含まれる別の Variant または数値型の変数に加算すると、結果は算術的合計になります。

Empty は、初期化されていない (初期値が代入されていない) Variant 変数を示します。 Empty が格納されている Variant は、数値コンテキストで使用される場合は 0 であり、文字列コンテキストで使用される場合は長さが 0 の文字列 ("") です。

EmptyNull を混同しないでください。 Null は、Variant 変数に意図的に有効なデータが格納されていないことを示します。

Variant では、Errorプロシージャ内でエラー状態が発生したことを示すために使用される特別な値です。 ただし、他の種類のエラーとは異なり、通常のアプリケーション レベルのエラー処理は行われません。 これにより、ユーザーまたはアプリケーション自体が、エラー値に基づいて代わりの処理を実行できます。 Error 値を作成するには、CVErr 関数を使用して実数値をエラー値に変換します。

関連項目

サポートとフィードバック

Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。