マクロを実行すると、作成したマクロを実行することができますが、実行結果だけが表示され実行途中の様子を知ることはできません。
マクロを実行した時に、「マクロがどのように動いているか?」を知りたい場合に1行ずつ実行したい時があります。
マクロを1行ずつ実行する場合は、ファンクションキー「F8」を使うと1行ずつ実行することができます。
この記事では、実例を使ってマクロを1行ずつ実行する方法と、任意のコード位置まで実行する方法を解説します。マクロの実行途中の様子を知ることができます。
マクロの実例のコードを使ってやってみる
エクセルに上のような「スケジュール表」を作成するマクロを使って、ステップインの使い方を解説します。
スケジュール表のコード例
次のコードは、スケジュール表のコードです。実例があると分かりやすいので、次のコードをコピーして、VBE(Visual Basic Editor)に貼り付けてご使用ください。
Sub スケジュール表作成()
Dim WS1 As Worksheet
Set WS1 = Worksheets("sheet1")
WS1.Select
With WS1
.Range("B3") = "日"
.Range("B3").Select
End With
Selection.AutoFill Destination:=Range("B3:H3")
WS1.Range("B3:H8").Select
With Selection.Borders(xlLeft)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = 5
End With
With Selection.Borders(xlTop)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = 5
End With
With Selection.Borders(xlBottom)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = 5
End With
With Selection.Borders(xlRight)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = 5
End With
'下線を二重線に変更する
Range("B3:H3").Select
Selection.Borders(xlBottom).LineStyle = xlDouble
WS1.Range("B3:H8").BorderAround Weight:=xlThick, ColorIndex:=5, LineStyle:=xlContinuous
WS1.Range("A3:A8").RowHeight = 35
'曜日のセルを塗りつぶす
With WS1
.Range("B3:B8").Interior.ColorIndex = 38
.Range("C3:G8").Interior.ColorIndex = 19
.Range("H3:H8").Interior.ColorIndex = 8
.Range("B4").Activate
End With
End Sub
コードの貼り付け方
新規ブックを開き、開発タブ→Visual Basic Editor→標準モジュール→Module1 にコードを貼り付けます。
エクセルマクロの開発タブを表示する方法
標準モジュールの挿入方法と削除方法
ファンクションキー「F8」でマクロを1行ずつ実行する
キーボードのファンクションキー「F8」を使うと、マクロを1行ずつ実行することができます。「F8」を押す度に、1行ずつコードが実行されます。
プロシージャをアクティブにする
マウスでクリックして、プロシージャを「アクティブ」にします。
ファンクションキー「F8」を押す
ファンクションキー「F8」を押すと、マクロ名の色が黄色になります。黄色に変わった行が選択されている行です。
続けてファンクションキー「F8」を押すと、選択行が次の行に移動します。
「F8」を押す度に、1つずつコードが実行されます。選択した行の前までが、実行されたコードになります。
「Ctrl+F8」でカーソルの位置までマクロを実行する
「Ctrl+F8」キーでマクロを実行すると、カーソルの位置の行までマクロを実行することができます。
コードの「End With」にカーソルがある時に、「Ctrl+F8」キーを実行します。
「Ctrl+F8」キーの場合は、「End With」のコードでマクロの実行が停止します。
ブレークポイントを使って目的のコードまで実行する方法
ブレークポイントの設定
- ブレークポイントは、目的のコードまで実行したい時に使います
- ブレークポイントを設定したいコードをクリックします
- マクロを実行すると、ブレークポイントで「実行」が中断されます
- ブレークポイントが複数ある時は、実行毎に中断されます
マクロは実行すると、結果が表示されます。その場合、もう一度マクロを実行しても、結果に変化はありません。
マクロの実行を最初から見たい場合は、ワークシートの設定や書式を元に戻す必要があります。
まとめ
マクロを1行ずつ実行する場合は、ファンクションキー「F8」を使うと1行ずつ実行することができます。「F8」キーを押す度に、1行ずつコードが実行されます。
「Ctrl+F8」キーでマクロを実行すると、カーソルの位置の行までマクロを実行することができます。
ブレークポイントを使うと、目的のコードまで実行することができます。