Excel VBA | 即時ウィンドウで変数の値を直接変更してテストする方法

VBA
スポンサーリンク

即時ウィンドウで変数の値を直接変更してテストする方法

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プロパティやメソッドを通じて操作する

👉 即時ウィンドウを使うと「コードを書き換えずにその場で値を変えて挙動を確認」できるので、デバッグ効率が大幅に上がります。

タイトルとURLをコピーしました