VBAで関数の中にブレークポイントを設定する方法
ブレークポイントは「ここで一時停止してデバッグしたい」という目印です。関数やプロシージャの中でも自由に設定できます。
手順
- コードウィンドウを開く
VBAエディタ(Alt+F11)で対象のモジュールを開きます。 - 関数の中の行を選ぶ
例:Function Square(x As Long) As Long Square = x * x ' ←ここにブレークポイントを置ける End Function - ブレークポイントを設定する
- 行番号の左側(グレーの余白)をクリックすると赤丸が付きます。
- またはカーソルを置いて F9キー を押すとブレークポイントが設定されます。
- 実行して関数が呼ばれると停止
その関数が呼び出されると、設定した行で処理が止まり、変数の値をウォッチしたり、F8でステップ実行できます。
例題
Sub Test()
Dim result As Long
result = Square(5) ' Square関数が呼ばれる
Debug.Print result
End Sub
Function Square(x As Long) As Long
Square = x * x ' ←ここにブレークポイントを置く
End Function
VB- ブレークポイントを置いた行で停止
Testを実行すると、Square関数に入った時点で止まります。 - ウォッチウィンドウで確認
xの値が「5」であることを確認できます。 - ステップ実行(F8)
その後の処理を1行ずつ追えます。
応用テクニック
- 条件付きブレークポイント
ブレークポイントを右クリック → 「条件」を選び、
例:x = 10のときだけ停止するように設定可能。 - 一時的に無効化
赤丸を右クリックして「無効化」を選ぶと、ブレークポイントを残したままスキップできます。 - 複数設定
関数内の複数行にブレークポイントを置いて、処理の流れを細かく確認できます。
まとめ
- 関数の中でも普通にブレークポイントを設定できる。
- F9キー または余白クリックで設定。
- 呼び出し時にその行で停止し、変数や処理を確認できる。
- 条件付きや無効化などを使うと効率的にデバッグ可能。
👉 実際のコードで「どの変数を確認したいか」によって、ブレークポイントを置く位置を工夫するとデバッグが格段に楽になります。


