Excel VBA | 関数の中でブレークポイントを使う方法

VBA
スポンサーリンク

VBAのデバッグでは ブレークポイント を使うと、関数の途中で処理を止めて変数の状態を確認できます。関数の中でももちろん利用可能です。


1. エディタでブレークポイントを設定する

  • VBAエディタで関数を開く
  • 止めたい行にカーソルを置いて F9キー を押す
  • 行が赤くハイライトされる → そこがブレークポイント
  • 実行するとその行で処理が一時停止し、変数の値をウォッチできる

2. コードで「一時停止」を入れる方法

ブレークポイントを手動で設定する代わりに、コードに「停止命令」を書くこともできます。

Function SampleFunction(ByVal x As Integer) As Integer
    Dim result As Integer
    
    result = x * 2
    
    Debug.Print "途中の値: "; result
    
    Stop   ' ← ここで実行が止まる(ブレークポイントと同じ効果)
    
    result = result + 10
    SampleFunction = result
End Function
VB
  • Stop → 実行を強制的に中断し、デバッグモードに入る
  • Debug.Print → 即時ウィンドウに値を出力して確認できる

3. ウォッチ式を使う

  • 変数や式を右クリック → 「ウォッチ式の追加」
  • 条件付きで停止させることも可能(例:x > 100 のときだけ止める)

4. 実践的な使い方

銀行口座クラスの例で「出金処理が正しく動いているか」を確認する場合:

Public Sub Withdraw(ByVal amount As Currency, ByVal pin As String)
    Debug.Print "出金要求額: "; amount
    Debug.Print "残高: "; balance
    
    Stop   ' ← ここで処理を止めて、ウォッチで balance を確認
    
    ' 以下は通常の処理
    If amount > balance Then
        Err.Raise vbObjectError + 1003, "BankAccount", "残高不足です"
    End If
    
    balance = balance - amount
End Sub
VB

まとめ

  • F9キー → エディタでブレークポイントを設定
  • Stop文 → コード内で強制的に停止
  • Debug.Print → 即時ウィンドウで値を確認
  • ウォッチ式 → 条件付きで停止や値の監視

これらを組み合わせると、関数の中でも効率的にデバッグできます。

VBA
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました