ときどきマクロの不具合修正の依頼を請けるのですが、変数がプログラムの中で宣言されずに使われていると、非常に困ることがあります。
それはプログラムの不具合が変数名のスペルミスによるものなのか、処理上の手順的な誤りからくるものなのか、検証しなければいけなくなるからです。
実はVBEの初期状態では、特段変数の宣言をしなくてもプログラムは問題なく動くようになっています。システムが自動的にVariant型の変数領域を割り当てる
(暗黙の宣言)ためです。なのでそのままの設定で使われている方も多いと思われます。
しかし宣言なしに自由に変数が使えるということは、逆に言うと間違った変数名を使っても気付きにくいということです。これは結構やっかいなことです。
人間は必ずミスをします。特にキーの打ち間違いは頻繁に起こります。そのとき、そのミスを指摘してくれる機能があれば非常に便利です。その機能を有効にするのがOption Explicitステートメントです。
このステートメントをモジュールの宣言域に記述(またはオプション設定)しておけば、変数内容を常にチェックしてくれます。
この機能を使わないのは非常にもったいないことです。つまらないミスで何時間も無駄にすることがないよう、今からでも変数の宣言を強制する設定に変えましょう。一度設定すると、次回からは常にモジュールの宣言域に Option Explicit が表示されるようになります。 Option Explicit が
表示されているときは、必ずどこかで変数の宣言を行わないとその変数は使えません。
変数を宣言して使うことは、さらに別のメリットもあります。変数名を大文字小文字を区別した半角英数の名前にすると、すべて小文字で打ち込んでも自動的に大文字小文字を区別した変数名に補正してくれるのです。
これは変数名が有効か否かを即座に確認できて、非常に便利です。
またその逆も可能です。いったん打ち込んだ変数名の大文字小文字を変えた場合も、同じ変数名すべてに反映されるのです。
【設定の手順】
ツール→オプション→編集→「変数の宣言を強制する」にチェックを入れる
|