Excel VBAのチップスです。
変数とはデータを格納する入れ物です。学校の数学でやったXやYと同じです。VBAは、変数を使用する前にあらかじめ宣言しておかなくても、自動で認識されて処理されます。
便利ではありますが、コードのミスが分からないなどの原因となるので、事前に宣言しておく(明示的な宣言)ことが懸命です。
事前に宣言するメリットには以下のようなことがあります。
・メモリー空間の節約
・エラーの回避
・コードの実行速度の向上
変数宣言の構文
Dim 変数名 As データ型
使用例
Dim MyName As String | 変数名Mynameを文字列型として宣言 |
Dim MyAge As Integer | 変数名MyAgeを整数型として宣言 |
Dim MyName As String, MyAge As Integer | 1行で複数の宣言が可能 |
VBAでは、変数を宣言しなくても自動で認識されますが、このため、コードの中で新しい変数が出てきたとき、それは本当に新しい変数なのか、あるいは入力ミスによるものなのかVBAでは
分かりません。このため、期待した結果が出ないとか、エラーとなるなどの問題が発生します。この問題を避けるために、明示的に宣言されていない変数が現れた時にエラーを表示させるように設定することができます。
方法としては、モジュールの先頭に
Option Explicit
とステートメントを記述します。
もし、宣言していない変数を記述して、マクロを実行すると、下図のようなエラーが表示されます。
新規にモジュールを作成したときに、自動的にOption Explicitを挿入するようにするには、
「ツール」「オプション」から「変数の宣言を強制する」にチェックを入れます。
データ型 | 意味 | 値の範囲 |
---|---|---|
Boolean | ブール型 | TrueまたはFalse |
Integer | 整数型 | -32,768~32,767 |
Long | 長整数型 | -2,147,483,648~2,147,483,647 |
Single | 単精度浮動小数点型 | 正の値で1.401289E-45~3.402823E38,負の場合は省略 |
Double | 倍精度浮動小数点型 | 省略 |
String | 文字列型 | 0~65535バイト |
Variant | バリアント型 | 要素に依存。あらゆる型になる。 |