Excel VBA | 「条件付きブレークポイント(特定の値のときだけ止める)」の使い方

Excel VBA VBA
スポンサーリンク

VBAで「条件付きブレークポイント」を使う方法

通常のブレークポイントは「その行に到達したら必ず止まる」仕組みですが、条件付きブレークポイントを使うと「特定の値のときだけ止まる」ようにできます。大量ループや特定ケースのデバッグにとても便利です。


1. 条件付きブレークポイントの設定方法

  1. VBAエディタで止めたい行にブレークポイント(F9キー)を設定
  2. 赤いブレークポイントを右クリック → 「条件」 を選択
  3. 条件式を入力(例:i = 100
    • この場合、変数 i が 100 のときだけ停止します
  4. 条件の種類を選択
    • 式が True のとき停止
    • 式の値が変化したとき停止

2. 使用例:ループの中で特定の値だけ止める

Sub TestConditionalBreakpoint()
    Dim i As Integer
    
    For i = 1 To 1000
        Debug.Print i
        ' ← この行にブレークポイントを設定し、条件を「i = 500」にすると
        '    i が 500 のときだけ止まる
    Next i
End Sub
VB
  • 普通にブレークポイントを置くと 1~1000 のすべてで止まってしまう
  • 条件付きにすると「i = 500」のときだけ止まるので効率的

3. 応用例:特定の変数がエラー値になったときだけ止める

Sub CheckArray()
    Dim arr(1 To 10) As Integer
    Dim i As Integer
    
    For i = 1 To 10
        arr(i) = i * 2
        Debug.Print arr(i)
        ' 条件付きブレークポイント: arr(i) = 12
        ' → 値が 12 のときだけ停止
    Next i
End Sub
VB

4. ポイントまとめ

  • 条件式は通常のVBA式(例:x > 100, strName = "田中"
  • 「値が変化したとき」を選ぶと、変数が変わった瞬間に止まる
  • 大量ループや複雑な処理で「特定ケースだけ確認したい」ときに有効

👉 条件付きブレークポイントを使うと「無駄に何百回も止まる」ことがなくなり、デバッグ効率が大幅に上がります。

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