VBAの変数宣言について

Microsoft OfficeでVBAを使うときの変数宣言の書き方には、注意しなければならない点があります。

インターネット上で、自分で作ったプログラムを公開している人はたくさんいますが、変数宣言の際に、いくつかまとめて宣言しているプログラムを見かけることがあります。

その中で、Dimの後に、例えばiとjをまとめて書いているケース等が見受けられる(Dim i , j As Longのように)のですが、これは厳密にいうと誤った書き方です。
この書き方だと、2番目の変数jだけがLongになり、1つ目の変数iは、Variantになります。つまりコンピュータは、iのデータ型は宣言されていない(すぐ後ろに何も書いてない)から、暗黙のうちにオールマイティ型であるVariantとして処理します。それでも、マクロ実行時に、プロシージャを反復使用することがなければ、特に問題はありません。エラーも起こしません。Dim変数は、プログラムの終了時に、格納された値が必ず解放されるからです。

なので、よほど複雑なプログラムでない限り、問題なく動きますが、厳密な書き方ではないということだけ知っておくとよいでしょう。

ちなみに上の例だと、
Dim i As Long , j As Long(省略できるのはDimだけ)
が正確な書き方です。

この記事が気に入ったらサポートをしてみませんか?