Excel VBA | 超初心者(Excel操作+マクロ体験):VBA基礎環境 – ステップ実行(F8)

Excel VBA VBA
スポンサーリンク

「ステップ実行(F8)」って何をするもの?

VBAの「ステップ実行(F8)」は、マクロを一気に最後まで動かすのではなく、「1行ずつゆっくり進めて、何が起きているかを確認するためのモード」です。
F5 が「再生ボタン」だとしたら、F8 は「コマ送りボタン」です。

プログラミング超初心者ほど、本当はこの F8 が強い味方になります。
なぜなら、「この1行を実行すると、Excelにどんな変化が起きるのか」を目で見ながら学べるからです。
コードを“読む”のではなく、“動きを観察する”ための道具、それがステップ実行です。

F5 と F8 の違いをイメージでつかむ

F5 は「最後まで一気に」、F8 は「1行ずつ」

F5 実行は、今いるプロシージャを最初から End Sub まで一気に走らせます。
途中で何が起きているかは見えません。「結果だけ確認したい」とき向きです。

それに対して F8 は、「今からこの行を実行します」「次はこの行です」と、1行ずつ進んでいきます。
どの行で何が起きているか、どのタイミングでセルの値が変わるか、そういったことを細かく追いかけられます。

超初心者のうちは、
「まず F5 でざっくり動かしてみる」
「うまくいかない・よく分からないところを F8 でじっくり追う」
という使い分けができると、とても学びやすくなります。

ステップ実行(F8)の基本的な使い方

まずは準備:簡単なマクロを書いておく

標準モジュールに、次のようなシンプルなマクロを書いてみてください。

Sub ステップ実行の練習()

    Range("A1").Value = "1行目"
    Range("A2").Value = "2行目"
    Range("A3").Value = "3行目"

End Sub
VB

このマクロは、A1、A2、A3 に順番に文字を書き込むだけの、とても単純なものです。
だからこそ、「どの行でどのセルが変わるか」が、ステップ実行でハッキリ見えます。

ステップ実行の開始方法

VBE(Visual Basic Editor)を開き、今のマクロの中にカーソルを置きます。
ここまでは F5 のときと同じです。

ここで F5 ではなく、F8 を押します。
すると、コードの1行目(Sub の次の行)が黄色くハイライトされるはずです。

この「黄色い行」が、「次に実行される行」です。
まだ何も実行されていません。「ここから始めますよ」と構えている状態です。

1行ずつ進めてみる

もう一度 F8 を押します。
すると、黄色い行が次の行に移動し、その直前にあった行が実行されます。

このマクロの場合、

1回目の F8:Range(“A1”).Value = “1行目” が実行され、黄色は次の行へ
2回目の F8:Range(“A2”).Value = “2行目” が実行され、黄色は次の行へ
3回目の F8:Range(“A3”).Value = “3行目” が実行され、黄色は End Sub の次へ

という流れになります。

F8 を押すたびに、Excel のシートをチラッと見てみてください。
A1 → A2 → A3 の順に文字が増えていくのが分かるはずです。

この「F8 を押す → Excel側で変化を確認する」というリズムが、ステップ実行の基本です。

ステップ実行で「何が見えるようになるか」

行と結果の対応関係が見える

ステップ実行の一番のメリットは、「この1行が、Excelにこの変化を起こしている」という対応が、体感で分かることです。

たとえば、次のようなコードがあったとします。

Sub 合計の練習()

    Range("A1").Value = 10
    Range("A2").Value = 20
    Range("A3").Value = Range("A1").Value + Range("A2").Value

End Sub
VB

F8 で1行ずつ進めながら、A1、A2、A3 のセルを見てみると、

1行目を実行した直後:A1 に 10 が入る
2行目を実行した直後:A2 に 20 が入る
3行目を実行した直後:A3 に 30 が入る

という変化が見えます。

「A3 の値は、A1 と A2 を足したものなんだな」ということが、目で見て理解できます。
これは、教科書で説明を読むよりも、ずっと強い理解になります。

間違っている行を特定しやすくなる

もし思った通りの結果にならないとき、F5 で一気に実行してしまうと、「どこでおかしくなったのか」が分かりません。

でも F8 で1行ずつ進めていれば、「この行を実行した直後から、値がおかしくなった」というポイントを特定できます。

たとえば、本当は A1 と A2 を足したいのに、間違えて A1 と A1 を足していたとします。

Range("A3").Value = Range("A1").Value + Range("A1").Value
VB

F8 で進めていくと、A3 に 20 ではなく 20(10+10)が入るのを見て、「あれ?」と気づけます。
その瞬間に、「あ、ここで A2 を足さないといけないんだな」と修正ポイントが見えてきます。

ステップ実行を使うときのコツと注意点

どこからステップ実行を始めるか

基本は、「実行したいプロシージャの中にカーソルを置いて F8」です。
最初の F8 で、Sub の次の行が黄色くなります。

もし途中の行からステップ実行を始めたい場合は、その行にカーソルを置いてから F8 を押します。
ただし、その場合でも「実際に実行されるのは、黄色くなった行の一つ前の行」です。

超初心者のうちは、まずは「最初から順番に見る」ことに集中した方が分かりやすいので、
Sub の中ならどこでもいいのでクリック → F8 → 最初の実行行が黄色になる、という流れを覚えておけば十分です。

F8 を押しても何も起きないように見えるとき

よくあるのが、「F8 を押しているのに、Excel側で何も変わっていない気がする」というパターンです。

そのときは、次の二つを確認してみてください。

一つ目は、「今黄色くなっている行が、実際に何かを変える行かどうか」。
コメント行(’ で始まる行)や、Sub や End Sub の行は、実行しても見た目の変化はありません。

二つ目は、「Excelのシートをちゃんと見ているか」。
VBEの画面だけを見ていると、セルの変化に気づきにくいです。
F8 を押したら、毎回一瞬でいいので Excel の画面をチラ見する癖をつけると、変化に気づきやすくなります。

ステップ実行を途中でやめたいとき

ステップ実行中に「もういいや、やめたい」と思ったら、VBEのツールバーにある「リセット」ボタン(四角いアイコン)を押すか、メニューの「実行 → リセット」を選びます。

これで、実行中のマクロは止まり、黄色いハイライトも消えます。
「止められる」と分かっていると、安心して F8 を試せるようになります。

まとめと、次の一歩

今日おさえてほしいステップ実行(F8)のポイント

ステップ実行(F8)は、「マクロを1行ずつ進めて、動きを観察するためのモード」。
F5 が「最後まで一気に」、F8 が「1行ずつコマ送り」というイメージ。
最初の F8 で「次に実行される行」が黄色くなり、その後は F8 を押すたびに「黄色の一つ前の行」が実行される。
セルの変化や値の変化を、F8 → Excelをチラ見、のリズムで追いかけると、コードと結果の対応が体で分かる。

次にやってみてほしい練習

今日の例のように、A1~A3 に順番に値を入れるマクロや、A1・A2 に数値を入れて A3 に合計を入れるマクロを、自分で書いてみてください。
そのうえで、必ず F8 で1行ずつ進めながら、「今どの行が実行されて、どのセルが変わったか」を意識して見てみる。

「この1行が、この変化を起こしているんだな」という感覚が少しでもつかめたら、もうステップ実行を“デバッグ用の難しい機能”ではなく、“学習用の拡大鏡”として使えるようになっています。

タイトルとURLをコピーしました