VBAバリアント| Excel VBAでバリアントデータ型を宣言する方法は?

ExcelVBAバリアントデータ型

VBAのVariantData Typeは、あらゆる種類のデータ型を保持できるユニバーサルデータ型ですが、データ型を割り当てる際には、「Variant」という単語を使用する必要があります。

私たちは皆、VBAプロジェクトで変数がどれほど重要であるかを知っています。変数が宣言されたら、宣言された変数にデータ型を割り当てる必要があります。VBAでのデータ型の割り当ては、宣言された変数に割り当てる必要のあるデータの種類によって異なります。

例については、以下のコードを見てください。

上記のコードでは、変数を「IntegerNumber」として宣言し、データ型を「Integer」として割り当てました。

データ型を変数に割り当てる前に、変数の制限に注意する必要があります。データ型を整数として割り当てたので、変数は-32768から32767までの数値を保持できます。

データ型の制限の制限を超えると、エラーが発生します。したがって、32767を超える値を格納する場合は、32767を超える値を保持できる別のデータ型を割り当てる必要があります。

この制限を克服するために、ユニバーサルデータ型「Variant」があります。この記事では、Variantデータ型の完全なガイドを紹介します。

バリアントデータ型を宣言する方法は?

バリアントデータ型は通常のデータ型として宣言できますが、データ型を割り当てる際には、「バリアント」という単語を使用する必要があります。

コード:

 Sub Variant_Example1()Dim MyNumber As Variant End Sub 

これにより、変数はあらゆる種類のデータを処理できるようになります。数字、文字列、日付、その他多くのものを割り当てることができます。

以下は同じもののデモンストレーションです。

コード:

 Sub Variant_Example1()Dim MonthName As Variant Dim MyDate As Variant Dim MyNumber As Variant Dim MyName As Variant MonthName = "January" MyDate = "24-04-2019" MyNumber = 4563 MyName = "My Name is Excel VBA" End Sub 

上記では、変数に日付、変数に数値、変数に文字列を割り当てました。したがって、Variantデータ型を使用すると、格納または割り当てるデータの種類について心配する必要がなくなります。

変数をVariantとして宣言するとすぐに、コーディング中にプロジェクトの途中でデータ型について心配する必要がなくなります。これにより、変数がニーズに合わせて柔軟に機能するようになります。おそらく単一の変数で、プロジェクト全体で操作を実行できます。

VBAバリアントは明示的な方法を必要としません

VBA変数を宣言する一般的な手順は、最初に変数に名前を付けてから、データ型を割り当てることです。以下はその一例です。

これは、変数を宣言する明示的な方法です。ただし、Variantデータ型を宣言する場合、明示的に宣言する必要はありません。変数に名前を付けて、データ型の部分を省略できます。

コード:

 Sub Variant_Example1()Dim MyNumber End Sub 

上記のコードでは、変数に「MyNumber」という名前を付けましたが、変数に名前を付けた後、どのような種類のデータ型も割り当てていません。

[データ型名]の部分は省略しました。データ型の代入部分を無視すると、常に変数がバリアントになるためです。

覚えておくべきこと

「Variant」データ型はデータに柔軟に対応できますが、これを保存するのは一般的なデータ型ではありません。奇妙に見えますが、絶対に真実です。人を使用する特別な理由がない限り、このデータ型の使用は避けてください。バリアントの使用を避ける理由のいくつかを以下に示します。

  • すべてのデータ不一致エラーを無視します。
  • バリアントデータ型は、IntelliSenseリストへのアクセスを制限します。
  • VBAは常に可能な限り最良のデータ型を推測し、それに応じて割り当てます。
  • In the case of Integer data type limit Variant data type doesn’t notify us the moment it crosses 32767 limits.