VBAではOption Explicit
をモジュールの先頭に書くことにより、プログラムを実行する前に、
すべての変数が宣言されていることをVBAが確認してくれます。
これにより、変数名の入力ミスを防ぐことができます。
下記のようなコードがあります。
Public Sub PrintValue()
Value1 = 1
Value2 = 2
MsgBox Value1 + Valu2
End Sub
- 変数
Value1
に1を代入 - 変数
Value2
に2を代入 - メッセージボックスに
Value1
とValue2
を足した値を表示する。
短めのコードですが、コードを実行すると変数の名前Value2
をValu2
と誤って入力しているため、
Value1
とValue2
を足した3ではなく、Value1
の値の1だけが表示されています。

Option Explicitを先頭に書いてValue1
とValue2
を宣言してからコードを実行します。
Option Explicit
Public Sub PrintValue()
Dim Value1 As Long
Dim Value2 As Long
Value1 = 1
Value2 = 2
MsgBox Value1 + Valu2
End Sub
「コンパイルエラー:変数が定義されていません。」と警告が表示されます。
Option Explicitステートメントにより、変数が明示的に宣言されているか確認しているためです。

エラーが発生している場所も表示されます。
短いコードであれば変数名の入力ミスにすぐに気が付きますが、長いコードを書くのであれば Option Explicitは必ず書きましょう。