Home » いちばんやさしいExcel VBAの教本 » 1行で複数の変数を宣言する場合の注意点

1行で複数の変数を宣言する場合の注意点

ページ数の関係などから『いちばんやさしいExcel VBAの教本』で削った、For~Next文の中にFor~Next文の入った簡単な例をご紹介しました。

変数宣言

そのSubプロシージャの中では変数宣言を上図のように2行で行っていますが、これを1行で済ますことはできないのか、と感じる方がいらっしゃいます。

1行で複数の変数を宣言するサンプル

1行で複数の変数宣言する場合は、以下のような書き方をします。
 Dim r As Long, c As Long

「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となっているのに対し、

1行で複数の変数宣言:両方Long

後者は下図のとおり、一方はVariantになっています。

1行で複数の変数宣言:一方がVariant

[スポンサードリンク]

Home » いちばんやさしいExcel VBAの教本 » 1行で複数の変数を宣言する場合の注意点

「いちばんやさしいExcel VBAの教本」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.