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
VBStop→ 実行を強制的に中断し、デバッグモードに入る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 → 即時ウィンドウで値を確認
- ウォッチ式 → 条件付きで停止や値の監視
これらを組み合わせると、関数の中でも効率的にデバッグできます。
