即時ウィンドウで変数の値を直接変更してテストする方法
VBAの 即時ウィンドウ は「変数の値を確認する」だけでなく、実行中に変数の値を直接変更してテストすることもできます。これを使うと「コードを修正せずに挙動を試す」ことが可能になります。
1. 即時ウィンドウの開き方
- VBAエディタで [表示] → [即時ウィンドウ] を選択
- またはショートカット Ctrl + G
2. 変数の値を直接変更する
実行がブレークポイントや Stop で止まっているときに、即時ウィンドウで次のように入力します。
? balance
VB→ 現在の値を表示
balance = 5000
VB→ 変数 balance の値を 5000に変更
pinCode = "9999"
VB→ 文字列変数 pinCode を “9999” に変更
3. プロパティやオブジェクトも変更可能
クラスのインスタンスを扱っている場合も同様です。
? myAccount.Balance
myAccount.Deposit 1000
myAccount.Withdraw 500, "1234"
VB?を付けると値を表示- 代入やメソッド呼び出しも可能
4. 実践例:銀行口座クラスのテスト
Sub TestImmediateWindow()
Dim myAccount As New BankAccount
myAccount.Initialize 10000, "1234"
Stop ' ← ここで止めて即時ウィンドウを使う
End Sub
VB実行が止まったら即時ウィンドウで:
? myAccount.Balance
myAccount.Deposit 5000
myAccount.Withdraw 2000, "1234"
myAccount.Withdraw 1000, "9999" ' → エラーになる
VBさらに強制的に値を変更することも可能です:
myAccount.balance = 99999 ' ← Private変数は直接アクセス不可だが、
' Publicプロパティ経由なら変更可能
VBポイントまとめ
- 即時ウィンドウは「実行中の変数に直接アクセス」できる
?で値を表示、=で代入して変更- メソッド呼び出しも可能 → 実行中に関数を試せる
- Private変数は直接変更できない → Publicプロパティやメソッドを通じて操作する
👉 即時ウィンドウを使うと「コードを書き換えずにその場で値を変えて挙動を確認」できるので、デバッグ効率が大幅に上がります。


