VBA講義室 > 定数・変数 > データ型 > バリアント型(Variant)

バリアント型(Variant)

次の構文は変数 X をバリアント型 で宣言する。

 

Dim X As Variant

または次のようにデータ型を省略してもバリアント型とみなされる。

 

Dim X

バリアント型は「固定長文字列型」「ユーザー定義型」以外のデータ型を格納できる。代入されるデータに合わせて対応するデータ型を変化させるデータ型である。
さまざまなデータ型を代入できる反面、不適当な代入が行われてもその原因がわかりにくくなるなどのトラブルの原因にもなりうるため、むやみにその融通性に期待しすぎないように心がけたい。

暗黙の宣言


変数宣言を強制する Option Explicit を宣言しておらず、データ型宣言を行なわずにステートメント中で変数をいきなり使用した場合は自動的にバリアント型として扱われる。
このように自動的にバリアント型変数が発生してしまうことを、Dimステートメントなどで明示的な変数宣言を行なうのに対して暗黙的な変数の宣言と呼ばれる。
このこと自体に不都合はないが、この場合、コーディング時に変数名のタイプミスがあり、意図的ではない新規の変数が自動的にバリアント型の別の変数として宣言されてしまい、そのままコードが走る。そのため、本来格納されるべき値が別の変数に格納された形になる。当然エラーや意図しない処理の原因となるが、(バリアント型であるがゆえに)タイプミスした箇所では処理が止まらない事が多いので、原因がたいへん判明しにくい。ミスは小さくても深刻な事態になることもあるので、Option Explicitで明示的宣言のない変数は使えないようにしておく習慣をつけておいたほうが良いだろう。


前(ブール型(Boolean)) 目次 次(【資料】)


SEO [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送