VBAで「条件付きブレークポイント」を使う方法
通常のブレークポイントは「その行に到達したら必ず止まる」仕組みですが、条件付きブレークポイントを使うと「特定の値のときだけ止まる」ようにできます。大量ループや特定ケースのデバッグにとても便利です。
1. 条件付きブレークポイントの設定方法
- VBAエディタで止めたい行にブレークポイント(F9キー)を設定
- 赤いブレークポイントを右クリック → 「条件」 を選択
- 条件式を入力(例:
i = 100)- この場合、変数
iが 100 のときだけ停止します
- この場合、変数
- 条件の種類を選択
- 式が 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
VB4. ポイントまとめ
- 条件式は通常のVBA式(例:
x > 100,strName = "田中") - 「値が変化したとき」を選ぶと、変数が変わった瞬間に止まる
- 大量ループや複雑な処理で「特定ケースだけ確認したい」ときに有効
👉 条件付きブレークポイントを使うと「無駄に何百回も止まる」ことがなくなり、デバッグ効率が大幅に上がります。


