アフィリエイト広告を利用しています

VBAマクロを1行ずつ実行する方法【実例を使って解説】

マクロを実行すると、作成したマクロを実行することができますが、実行結果だけが表示され実行途中の様子を知ることはできません。

マクロを実行した時に、「マクロがどのように動いているか?」を知りたい場合に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. ブレークポイントは、目的のコードまで実行したい時に使います
  2. ブレークポイントを設定したいコードをクリックします
  3. マクロを実行すると、ブレークポイントで「実行」が中断されます
  4. ブレークポイントが複数ある時は、実行毎に中断されます

マクロは実行すると、結果が表示されます。その場合、もう一度マクロを実行しても、結果に変化はありません。

マクロの実行を最初から見たい場合は、ワークシートの設定や書式を元に戻す必要があります。

まとめ

マクロを1行ずつ実行する場合は、ファンクションキー「F8」を使うと1行ずつ実行することができます。「F8」キーを押す度に、1行ずつコードが実行されます。

「Ctrl+F8」キーでマクロを実行すると、カーソルの位置の行までマクロを実行することができます。

ブレークポイントを使うと、目的のコードまで実行することができます。

エクセルマクロの開発タブを表示する方法
標準モジュールの挿入方法と削除方法

目次