Home » VBE(Visual Basic Editor) » ウォッチウィンドウでループ処理の途中からステップ実行に

ウォッチウィンドウでループ処理の途中からステップ実行に

動作検証バージョン:Windows版Excel(バージョン1908 ビルド11929.20254)

If文の中でStopステートメントを使うことで、ループ処理の途中からステップ実行できるようにするサンプルをご紹介しました。

拙著『いちばんやさしいExcel VBAの教本』では、p.110で名前を出すだけに留めているウォッチウィンドウでも、

『いちばんやさしいExcel VBAの教本』p.110
『いちばんやさしいExcel VBAの教本』p.110より

途中からステップ実行にできます。

ループ処理の途中からステップ実行にする例

以下のSubプロシージャで、

Sub sample()
  Sheets.Add Before:=Sheets(1)
  Dim i As Long
  For i = 1 To 100
    Cells(i, "A").Value = i
  Next i
End Sub

途中からステップ実行にする例をご紹介します。

▼操作手順:For~Nextループの途中からステップ実行する
※カウンター変数iが98になったら中断する例
メニュー[デバッグ]-[ウォッチ式の追加]をクリック
 ↓
[ウォッチ式の追加]ダイアログで
  [式]欄に「i = 98」と入力
  [ウォッチの種類]で「式がTrueのときに中断」をOn
に設定
 ↓
[ウォッチ式の追加]ダイアログ-[OK]ボタンをクリック

ここで「i = 98」としているのは、ループ処理の最後のほう、というだけですから「i = 97」でも構いません。ループ処理の最後のほうをどれくらいステップ実行したいかによって変更してください。

[ウォッチ式の追加]ダイアログの設定

上記の設定を行ってから先ほどのsample Subプロシージャを実行すると、アクティブなブックの先頭にワークシートが挿入され、カウンター変数iが「98」になった時点、A97セルまで数値の代入が行われた時点で、実行が中断します。

式がTrueのときに中断したコードウィドウ

以後はショートカットキー[F8]でステップ実行できます。

If文とStopステートメントを使う場合との違い

考え方は、先日ご紹介したIf文とStopステートメントを使う場合と同じです。

If文とStopステートメントを使った場合は、コードの中に
  If i = 98 Then Stop
と条件と中断する指示を書いていたのに対し、ウォッチウィンドウを使う場合は、[ウォッチ式の追加]ダイアログで、条件と「式がTrueのときに中断」という指示を書いています。

[ウォッチ式の追加]ダイアログの設定

最終更新日時:2019-09-21 05:41

[スポンサードリンク]

Home » VBE(Visual Basic Editor) » ウォッチウィンドウでループ処理の途中からステップ実行に

「VBE(Visual Basic Editor)」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.