デバッグ


ブレークポイント

VBEのコードウィンドウの左側の枠をクリックするとブレークポイントを設定できます。


ブレークポイントを設定するとその行が茶色になります。
ブレークポイントを設定しているときに実行すると、
その行が実行される直前で処理が一時停止(ブレーク)します。


黄色の行が現在一時停止している行になります。

各種デバッグウィンドウ

・ローカルウィンドウ


現在のプロシージャの変数が表示されます。
上の例では開始直後にブレークさせているので、すべて初期値の0です。
値を編集して、変数の値を変更することもできます。

・ウオッチウィンドウ


ウォッチウィンドウはローカルウィンドウが現在のプロシージャ限定なのに対して、
あらゆる変数や式を表示できます。
ただし、見たいものを「ウォッチ式の追加」で手動で追加する必要があります。
ローカルウィンドウと同様に変数の値を変更できます。
下の例では、ブレークポイントの時点でtest2をWork1の引数で
呼び出した場合の結果が表示されています。


・イミディエイトウィンドウ
このウィンドウは上の2つのウィンドウと違って、変数等を表示するものではなく、
命令を実行するウィンドウです。
Work1 = test2(Work1)と記入して、エンターキーを押すと、
ブレーク中にその命令を実行するので、Work1は値は1に変わっています。


また、このウィンドウにDebug.Print命令の結果が表示されます。

各種実行方法

・実行(F5)
次のブレークポイントがある場合は次のブレークポイントまで実行します。
次のブレークポイントがない場合は最後まで実行します。


上のような場合にF5で下のようになります。


・ステップイン(F8)
ブレークしている行を実行して、次の行の実行前にブレークします。
F8を押し続けることで1行ずつ実行します。


上のような場合にF8で下のようになります。


・ステップオーバー(Shift+F8)
別プロシージャの呼び出し行でステップインの場合は、別プロシージャに飛びますが、
ステップオーバーの場合は、プロシージャの実行を終えてブレークします。


上のような場合にShift+F8で下のようになります。


ちなみにF8の場合は下のようになります。


・ステップアウト(Ctrl+Shift+F8)
現在のプロシージャの終りまで実行し、呼出元の呼出後の命令でブレークします。


上のような場合にCtrl+Shift+F8で下のようになります。


ブレーク位置の変更

ブレーク行の左の欄にある黄色の矢印を上下にドラッグ&ドロップすることで
ブレーク位置を変更できます。
上に移動させれば、実行済の処理を再度実行できます。
下に移動させれば、未実行の処理をスキップできます。
ブレーク位置の変更のみで処理は戻しや実行は行われません。
そのため変数の値は移動前の状態のままです。


上のような場合に、最初の命令までブレークポイントを戻しても、
Work1の値は入ったままです。



Excel VBA講座に戻ります

トップに戻ります


お探しの情報は見つかりましたか?
まだの方はこちらをどうぞ。
Google

PageTop