ページ数の関係などから『いちばんやさしいExcel VBAの教本』で削った、For~Next文の中にFor~Next文の入った簡単な例をご紹介しました。
そのSubプロシージャの中では変数宣言を上図のように2行で行っていますが、これを1行で済ますことはできないのか、と感じる方がいらっしゃいます。
1行で複数の変数を宣言するサンプル
1行で複数の変数宣言する場合は、以下のような書き方をします。「Dim」の直後に1つ目の変数名を書き直後に「As Long」と型を指定し、
Dim r As Long, c As Long
「,」の後ろに2つ目の変数名を書いて型指定を行います。
Dim r As Long, c As Long
1行で複数の変数を宣言する際の注意点
注意すべきは、
Dim r, c As Long
のように宣言してしまったケースです。
この書き方でも「r」「c」の2つの変数が宣言されたことになりますけれど、変数rのほうは型がLongではなくVariantになってしまいます。
つまり、
Dim r , c As Long
のような変数宣言は、
Dim r
Dim c As Long
と宣言したのと同じだということです。
ローカルウィンドウで確認しよう
上述の、
Dim r As Long, c As Long
ならば、いずれもLong型変数になるのに対し、
Dim r , c As Long
の場合、変数rはVariant型に変数cはLong型となるのは、拙著でも多用しているローカルウィンドウで確認できます。
それぞれで型指定を行った場合は、下図のとおりいずれもLongとなっているのに対し、
後者は下図のとおり、一方はVariantになっています。
- Newer:Columnsで取得した列を表すRangeを個別のRangeに
- Older:VLOOKUPで別シートを参照する
Home » いちばんやさしいExcel VBAの教本 » 1行で複数の変数を宣言する場合の注意点