以下では、
- 「Option Explicit を使う理由」
- 「誤字ミスでエラーになる例」
- 「実践的な使い方」
を初心者向けに、図解イメージとサンプルコード付きで解説します。
1. Option Explicit を使う理由
VBA では、変数を宣言しなくても動くため、一見ラクに見えます。
でも実際には次のようなバグを引き起こします。
例:スペルミスが見つからないケース
Sub Sample_NoExplicit()
Dim total As Integer
total = 100
' ↓ タイプミスしている!
toatl = total + 10
MsgBox "合計は " & toatl
End Sub
VB結果:
- 「toatl」という新しい変数が自動的に作られてしまう
- 中身は空(初期値 0)のままなので、
表示結果は「合計は 0」となる
つまり、スペルミスしてもエラーにならず、気づかないまま計算が狂う。
Option Explicit を使うとどうなる?
Option Explicit
Sub Sample_WithExplicit()
Dim total As Integer
total = 100
toatl = total + 10 ' ← ここでエラー!
End Sub
VB実行結果:
コンパイル エラー: 変数が定義されていません
つまり、宣言していない変数は使えないため、タイプミスをすぐ発見できます。
3. 実践的な使い方(設定方法)
新しく作るモジュールすべてに自動で Option Explicit を入れたい場合:
- VBA エディタを開く(
Alt + F11) - メニューから「ツール」→「オプション」を選択
- 「編集」タブを開く
- 「変数の宣言を強制する」にチェックを入れる ✅
- OK を押す
これで、以後の新しいモジュールには自動で
Option Explicit
VBが先頭に入ります。
4. 実際の現場での使い方
実務でのおすすめパターン:
Option Explicit
Sub CalculatePrice()
Dim unitPrice As Double
Dim quantity As Integer
Dim totalPrice As Double
unitPrice = 1200
quantity = 5
totalPrice = unitPrice * quantity
MsgBox "合計金額は " & totalPrice & " 円です。"
End Sub
VBポイント
- 全ての変数を
Dimで宣言しておくことで、
データ型のチェックもできる(数値・文字など) - 変数名を一覧で把握でき、可読性が向上
- チーム開発や他人が読むときも理解しやすい
5. 練習課題(初心者向け)
問題:
Option Explicit
Sub PriceCalc()
Dim price As Integer
Dim quantity As Integer
Dim total As Integer
price = 500
quantity = 3
totl = price * quantity ' ← わざとミス
MsgBox "合計は " & total
End Sub
VB実行してみよう!
- どの行でエラーが出る?
- どの変数が間違っている?
→ 修正して、正しく結果を表示してみましょう!

