VBEの設定を整えるだけで、タイプミス防止・コードの見やすさ・デバッグ効率が大きく改善します。特に「変数の宣言を強制する(Option Explicit)」の設定は最初に必ず確認しておきたい項目です。環境整備に5分かけるだけで、その後の開発が格段にスムーズになります。
この記事では、次の内容を順番に解説します。
- Option Explicitを自動追加する設定
- 自動構文チェックのオン・オフの使い分け
- フォント・サイズ・色の見やすい設定
- インデント幅・イミディエイトウィンドウの活用
- 設定をまとめて確認するチェックリスト
Option Explicitを自動追加する設定をするには?
VBAはデフォルトでは変数を宣言しなくても動きます。これがタイプミスに気づけない最大の原因です。「変数の宣言を強制する」を設定しておくと、新しいモジュールを作るたびに自動で Option Explicit が先頭に追加されます。
設定手順:
- VBEを開く(Alt+F11)
- メニューの「ツール」→「オプション」を開く
- 「編集」タブの「変数の宣言を強制する」にチェックを入れる
- OKを押す
'Option Explicitなし → スペルミスに気づけない
Sub BadExample()
total = 100
totla = total + 50 '← 新しい変数として処理されてしまう
MsgBox totla '→ 50が表示される(totalの100は無視)
End Sub
'Option Explicitあり → コンパイルエラーになり気づける
Option Explicit
Sub GoodExample()
Dim total As Long
total = 100
totla = total + 50 '← コンパイルエラー!すぐ気づける
End Sub
この設定は新規モジュールにのみ自動追加されます。既存のモジュールには手動で先頭に追記してください。
自動構文チェックをどう設定するには?
デフォルト設定では、1行書き終えた瞬間に構文ミスがあるとポップアップが表示されます。コードを書くリズムを止めたくない場合はオフにするのも有効です。
| 設定 | 動作 | 向いている人 |
|---|---|---|
| 自動構文チェック:オン(デフォルト) | 1行書くごとにポップアップで警告 | 初心者・エラーをその場で確認したい人 |
| 自動構文チェック:オフ | ポップアップなし。エラー行は赤文字で表示 | 書くスピードを止めたくない人 |
オフにする手順:「ツール」→「オプション」→「編集」タブ→「自動構文チェック」のチェックを外す。オフにしても構文ミスのある行は赤文字で残るため、見落としは起きません。
コードを見やすくするフォントと色の設定をするには?
設定場所:「ツール」→「オプション」→「エディターの書式設定」タブ
フォントとサイズのおすすめ:
- フォント:MS ゴシック または Consolas(等幅フォントが読みやすい)
- サイズ:12〜14pt(小さいと見落としが増える)
コードの種類ごとに色が分かれています。変更するとコードの意味がひと目でわかりやすくなります。
| コードの種類 | デフォルトの色 | 用途 |
|---|---|---|
| 通常のテキスト | 黒 | 通常のコード |
| キーワード | 青 | Sub・Dim・If・For など |
| コメント | 緑 | ‘(シングルクォート)以降の説明文 |
| 構文エラー | 赤 | 文法ミスのある行 |
| 実行中の行(ステップ実行時) | 黄色背景 | 現在実行している行 |
インデント幅とイミディエイトウィンドウを活用するには?
インデント幅:「ツール」→「オプション」→「編集」タブの「タブストップ幅」で変更できます。デフォルトは4で、2〜4が一般的です。インデントはコードの構造を視覚的に示すために重要です。
'インデントが揃ったコード(読みやすい)
Sub GoodIndent()
Dim i As Long
For i = 1 To 10
If Cells(i, 1).Value > 0 Then
Cells(i, 2).Value = "正の数"
End If
Next i
End Sub
イミディエイトウィンドウ:Ctrl+G で開くデバッグ用の出力エリアです。Debug.Print で出力した内容がここに表示されます。
Sub CheckValues()
Dim i As Long
For i = 2 To 5
Debug.Print "i=" & i & " / 値=" & Cells(i, 1).Value
Next i
End Sub
実行後にイミディエイトウィンドウを確認すると各行の値が記録されています。MsgBox と違いクリックが不要なため、ループ中の値確認に特に便利です。
設定をまとめて確認するには?
VBEを使い始めたら、次の項目を一度確認しておきましょう。
| 設定項目 | 場所 | おすすめの設定 |
|---|---|---|
| 変数の宣言を強制する | ツール→オプション→編集タブ | ✅ チェックを入れる(必須) |
| 自動構文チェック | ツール→オプション→編集タブ | 好みに合わせて(慣れたらオフでもOK) |
| タブストップ幅(インデント) | ツール→オプション→編集タブ | 2〜4(デフォルトは4) |
| フォントとサイズ | ツール→オプション→エディターの書式設定タブ | 等幅フォント・12〜14pt |
| イミディエイトウィンドウ | Ctrl+G または表示メニュー | 常に表示しておくと便利 |
まとめ
- 「変数の宣言を強制する」は最優先で設定する。新しいモジュールに自動で
Option Explicitが付くようになる - 自動構文チェックはオフにするとポップアップがなくなり、エラー行は赤文字で残る
- 等幅フォントの12〜14ptでコードが読みやすくなり、長時間作業の疲労も軽減できる
- インデント幅はデフォルトの4で十分。揃ったインデントがコードの構造を視覚的に示す
- イミディエイトウィンドウ(Ctrl+G)は常に開いておき、Debug.Printと組み合わせてデバッグに活用する
よくある質問
Option Explicitの設定後、既存のコードが動かなくなりました
宣言せずに使っていた変数がコンパイルエラーになっています。エラーになった変数を Dim で宣言することで解決します。面倒に感じるかもしれませんが、これを機に宣言漏れを修正しておくと後々のバグを防げます。
VBEのフォント設定を変えると既存のコードにも反映されますか?
反映されます。VBEのフォント設定はエディタ全体に適用されるため、既存のすべてのモジュールの見た目が変わります。コードの内容(文字データ)には影響しません。
イミディエイトウィンドウに出力した内容を消すには?
イミディエイトウィンドウ内でCtrl+Aで全選択してDeleteキーを押すと消去できます。マクロを実行するたびに追記されるため、確認後は適宜クリアしておくと見やすくなります。
自動インデント機能はありますか?
VBEには自動インデント機能は標準搭載されていません。ただし、If 〜 End If・For 〜 Next などのブロック構造で改行すると、次の行が自動的に1段インデントされます。手動でインデントを調整する場合はTabキーとShift+Tabキーを使います。
VBEの画面構成をカスタマイズできますか?
プロジェクトウィンドウ・プロパティウィンドウ・イミディエイトウィンドウは、ドラッグで位置や大きさを変えられます。「表示」メニューから各ウィンドウの表示・非表示も切り替えられます。自分が使いやすいレイアウトに整えておくと作業効率が上がります。
動画で学びたい方へ
「記事を読んでも、実際に自分で書けるか不安…」という方には、動画で基礎からじっくり学べる講座がおすすめです。
VBAが初めての方を前提に、つまずきやすいポイントを先回りして解説しています。サンプル動画は無料でご覧いただけます。



