アクセス上位ページ
 
最近の更新内容
(2)-a.デバッグとは? ⇐ [PREV]
[NEXT] ⇒ (2)-c.ステップ実行

Excel VBA ≫ 1.基礎編 - デバッグ方法(2)-b.ブレークポイント

ブレークポイント

ブレークポイントを設定すると、その設定した行で処理がブレーク(中断)します。 このときに変数に設定されたデータ内容を確認したり、 1行ずつ処理を実行(⇒ステップ実行)したりすることで、 処理が意図したとおりに行われているか確認することが可能になります。
以下ではサンプルマクロを使用して、ブレークポイントの設定と中断時の操作を解説していきます。

<サンプルマクロ>
Sub sample2_1()
'九九を入力された段ごとに表示するマクロ
    Dim var     As Variant
    Dim i       As Integer
    Dim result  As String
    Dim str     As String

    'InputBoxから入力を受け付けます。
    '正しい数値が入力されるか、キャンセルされるまで
    '入力を受け付け直します。
    Do
        var = InputBox("表示する段(1〜9)を入力してください。")

        If StrPtr(var) = 0 Then
            'キャンセルボタンが押下された場合は処理をキャンセルします。
            MsgBox "処理をキャンセルしました。", vbExclamation
            End     'ここで処理を終了します。
        End If
    Loop Until IsNumeric(var) And 0 < var And var < 10

    '結果の見出しを編集
    result = "◆◆◆" & var & "の段の結果◆◆◆" & vbLf

    '繰り返し処理
    For i = 1 To 9
        '掛け算の結果(文字列)をFunctionプロシージャから受け取ります。
        str = strMultiple(CInt(var), i)

        '受け取った文字列を改行コードと一緒に後ろへ追加していきます。
        result = result & vbLf & str
    Next i

    '結果を表示
    MsgBox result, vbInformation
End Sub

Function strMultiple(x As Integer, y As Integer) As String
'掛け算の過程と結果を文字列にして返すプロシージャ
    Dim z As Integer    '各プロシージャ内で個別に変数を宣言できます。

    '掛け算の結果を保存します。
    '(変数zはあまり意味のないものですが気にしないでください)
    z = x * y
    '掛け算の過程と結果を文字列連結し、呼び出し元へ返します。
    strMultiple = x & " × " & y & " = " & z
End Function
⇒ サンプルマクロ集 へ

<サンプルマクロ実行結果>
  • 実行するとInputBoxが表示されますので、適当に数値(ここでは3)を入力して [ OK ] ボタンを押下します。
  • sample2_1実行結果1
  • すると、結果が表示されます。
  • sample2_1実行結果2

<参考>
  • InputBox上の[ キャンセル ] または [ × ] ボタンを押下すると処理をキャンセルできます。
  • sample2_1実行結果3

ブレークポイントの設定と中断時の操作

  1. ブレークポイントを設定するにはコードウィンドウ左端のインジケータバーをクリックします。 ブレークポイントは複数個所に設定できます。 ブレークポイントを解除したい場合はもう一度同じ場所をクリックしてください。
  2. ブレークポイントの設定
  3. ブレークポイントを設定したらマクロを実行(⇒(1)-e.マクロの実行)してみましょう。
    処理がブレークポイントにさしかかると処理が中断します。 但し、処理がブレークポイントを設定した箇所を通過しない場合、処理は中断しませんので注意してください。
  4. マクロが中断された様子
  5. 処理が中断されたらを変数やプロパティをマウスでポイントしてみましょう。
    データが設定されていればその内容が表示されます。
  6. 変数内容が表示された様子
  7. [ 継続 ] ボタンまたは [ F5 ] ボタンを押すと処理が継続され、 処理が進んだ先にブレークポイントがあれば処理が中断します。 この例ではFor文で処理がループしているため、再度中断します。
  8. マクロ継続ボタン 処理が再度中断

スポンサード リンク

カテゴリー内ページ

Page
Top