エクセルのVBAマクロにおいて、
変数宣言をしないで使うとエラーになるように設定する方法です。
これをしておかないと、
変数名をスペルミスして使ったときにエラーになってくれないため、
デバッグの効率が悪くなりますよね。
たとえば、
1 2 3 4 5 6 7 8 9 |
Sub sub2() Dim tar_id As Integer tar_id = 300 disp_data tar_idx End Sub Sub disp_data(tar_id) MsgBox "disp_data:" & tar_id End Sub |
などと、書いた時、
1 |
disp_data tar_idx |
と、tar_idと書こうとして tar_idx と書いてしまっても、エラーになりません。
結果として、disp_data では、何も表示されません。
そこで以下のように、モジュールの先頭で、
Option Explicit
と一行書くと、そのファイルでは変数は、使う前にかならず定義しないと
エラーになるようにできます。
1 2 3 4 5 6 7 8 9 10 11 |
Option Explicit Sub sub2() Dim tar_id As Integer tar_id = 300 disp_data tar_idx End Sub Sub disp_data(tar_id) MsgBox "disp_data:" & tar_id End Sub |
同じコードを実行すると、次のようにエラーになってくれます。べんり~
でも、毎回書くの、面倒ですよね。
そこで、VBEにて
メニューの ツール→オプションを選択して、
「オプション」ウインドウの「編集」タブにて、
「変数の宣言を強制する」
にチェックを入れると、以降、ファイルを作るたびに、
Option Explicit
が先頭に自動で付加されます。
新しくファイルを作成すると、このとおり、一行追加されてます。
残念なことに、
すでに、存在しているファイルには自動で挿入されないため、
やっぱり自分でつけましょう。
毎回、きっちり宣言するのが面倒と思われるかもしれませんが、
デバッグで楽できるので、トータルでみると、全然面倒でないですよ。
ぜひ、明示的な変数宣言の強制、導入しましょう。
コメント