Home » いちばんやさしいExcel VBAの教本 » ループ処理の途中からステップ実行に-IfとStop

ループ処理の途中からステップ実行に-IfとStop

拙著『いちばんやさしいExcel VBAの教本』のp.089に「行が赤茶色になるブレークポイント」というワンポイントを書き、

このサイト『インストラクターのネタ帳』でも補足記事を書いています。

こういったブレークポイントの使い方を知った方からは、
「ループ処理の最後のほうだけステップ実行するにはどうすればいいのでしょう?」
といったご質問をいただくことがあります。

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

いくつかの方法のうち、拙著で初めてExcelマクロを作り始めたという方には、If文とStopステートメントの組み合わせを、知っていただきたいと考えています。

Sub ループ処理の途中からステップ実行に()
  Sheets.Add Before:=Sheets(1)
  Dim i As Long
  For i = 1 To 100
    ' If i = 98 Then Stop
    Cells(i, "A").Value = i
  Next i
End Sub

If文とStopステートメントでループ処理の途中からステップ実行に

まずは上記のSubプロシージャを実行してください。
アクティブなブックの先頭にワークシートが挿入され、A1セルからA100セルに1から100までの整数が入力されます。

つづいてコメントアウトされている「'If i = 98 Then Stop」の先頭の「'」を削除し非コメント化してから実行すると、今度はカウンター変数iが「98」になった時点で中断モードになり、以後[F8]キーでステップ実行できるようになります。

ここで「i = 98」という条件にしているのは、ループの最後のほうというだけで、「i = 97」でも「i = 96」でも構いません。念のため。

Stopステートメントは、実際に使うマクロの中で通常は使うことのない構文ですが、マクロの作成段階では便利です。

ウォッチウィンドウでもループ処理の途中からステップ実行できますが、最初はIf文とStopステートメントを使う方法がおすすめです。

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

[スポンサードリンク]

Home » いちばんやさしいExcel VBAの教本 » ループ処理の途中からステップ実行に-IfとStop

「いちばんやさしいExcel VBAの教本」の記事一覧

検索


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

.