ExcelVBAは初心者向けと言われています。
そのせいかデフォルトでは変数を宣言しなくてもエラーにならない仕様になっています。
ここではVBAで変数の宣言を強制するための設定方法を解説していきます。
なお、設定方法は2通りあります。
VBAで変数の宣言を強制する方法①(オプション設定)
まず1つ目は、VBAのオプションを設定する方法です。
設定手順は次の通り。
- 1VBEの「ツール」メニューを開いて、「オプション」をクリックする
- 2「オプション」ダイアログで「変数の宣言を強制するオプション」にチェックを入れる
変数宣言強制のオプションを設定した後は、例えば標準モジュールを新しく作って開くとこんな風になってます。
ここに書かれている「Option Explicit」が変数宣言を強制させるためのコードです。


VBAであっても変数の宣言を強制することをおすすめします。ですので、このオプション設定は必ずやっておいてほしいです。変数宣言を強制した方がいい理由は、後ほど解説します。
VBAで変数の宣言を強制する方法②(Option Explicitを記述)
オプション設定をしない場合は、自分で「Option Explicit」を記述すれば変数の宣言を強制できます。
それが2つ目の方法です。
やり方は、変数宣言を強制したいモジュールファイルの先頭に「Option Explicit」と書くだけでOK。


繰り返しになりますが、変数の宣言は強制する方がいいです。「Option Explicit」を毎回書くのはめんどうだし、書き忘れることもあるでしょう。だから、最初に説明したオプションで設定しておくのが良いと思います。
VBAで変数の宣言を強制するべき2つの理由
ここまでで変数の宣言を強制する方法がわかりました。
最後に「なぜ変数の宣言を強制するのがいいのか?」、その理由について軽く触れておきます。
- 変数のスペルミスに気付かない
- (後でソースコードを見返したとき)どんな変数がどういう用途で使われているかわかりにくい
この2つのうち、「変数のスペルミスに気付かない」はプログラムのエラーを引き起こしかねません。
自分は同じ変数のつもりでも、スペルミスをしてしまったら異なる変数として扱われます。
その結果、自分の意図通りの動作をしない可能性があるのです。
こうした問題を防ぐために変数の宣言を強制し、使う変数は必ず宣言する方がいいのです。
宣言を強制していれば、スペルミスした変数は「宣言されていない変数」としてコーディングエラーになり、そこで間違いに気づけるのです。
まとめ
この記事は、ExcelVBAで変数の宣言を強制する設定方法を紹介しました。
「あれ?どうやって強制するんだったっけ??」と、やり方が思い出せないときの参照用として活用してください。
- VBAで変数の宣言を強制する方法は2つある
- VBAのオプションで設定する方法
- 「Option Explicit」をソースコードに直接記述する方法
- 変数宣言を強制しておけば、意図しない変数の使われ方を防げる
コメント