見出し画像

第4回:ステップ実行(F8)とブレークポイント(F9)で“テストの仕方”を学ぶ──「#未来に向けた挑戦」

VBA を動かすときに、いちばん多い不安は 「このまま実行して大丈夫なのかな…?」という気持ちだと思います。 コードを書けなくても AI に作ってもらえる時代になりましたが、 “動かす瞬間の怖さ”だけは、誰もが一度は感じるものです。

そこで今回は、コードを書く前に知っておきたい 「テストの仕方」 を取り上げます。 ステップ実行(F8)やブレークポイント(F9)を使うと、 コードがどこまで動いたのか、変数がどう変わったのかを “目で見て”確認できるようになります。

たとえば、テストの点数によって「合格」か「あと少し」を判定するコードも、 ブレークポイントを使えば、 「この行で score の値が変わるんだ」 「ここで条件分岐に入るんだ」 という動きがはっきり見えてきます。

VBA を“書く”のはまだ先で大丈夫です。 まずは、AI が作ったコードを 安全に・怖くなく・自分のペースで 動かすための やさしいテスト方法を一緒に見ていきましょう。





第1章 はじめに:コードを書く前に“テスト”を知る理由

VBA を学び始めると、まず気になるのは 「このコードは本当に思った通りに動いているのだろうか」 という“見えない部分”です。

AI がコードを作ってくれるようになり、 自分で一から書く必要はなくなりました。 それでも、コードの中で何が起きているのかを 自分の目で確かめられるようになること は、 これから先の安心につながります。

たとえば、変数にどんな値が入っているのか、 条件分岐はどちらの道を選んだのか、 ループは何回まわっているのか── こうした“コードの中の出来事”は、 普段は画面に見えません。

だからこそ今回は、 コードを書く前に「動きを見る」ための方法 を扱います。

ステップ実行(F8)やブレークポイント(F9)を使うと、 コードがどこまで進んだのか、 どの行で値が変わったのかを、 ゆっくりと確認できるようになります。

今回は、VBA を“書く”のではなく、 「見る」「確かめる」「理解する」ための準備編 です。 AI が作ったコードを安心して扱えるように、 まずはテストの基本から一緒に見ていきましょう。



第2章 ステップ実行(F8)とは何か

VBA のコードは、普段は一瞬で最後まで実行されてしまうため、 「どこで何が起きているのか」が見えません。 そこで役に立つのが ステップ実行(F8) です。

ステップ実行は、 コードを 1 行ずつゆっくり進めるための機能 です。 どの行が実行されているのか、 変数にどんな値が入ったのか、 条件分岐はどちらに進んだのか── そうした“コードの中の出来事”を、 目で見て確認できるようになります。

初心者にとって、これは大きな安心材料です。 「いきなり全部動く」怖さがなくなり、 “今どこにいるのか”が分かるようになるからです。


◆ ステップ実行の基本

VBA の画面で F8 を押すと、 実行中の行が 黄色い帯 で表示されます。 この黄色い行が「次に実行される行」です。

F8 を押すたびに、黄色い行が一つ下へ進み、 コードが 1 行ずつ実行されていきます。

ステップ実行(F8)


◆ 合格判定サンプルで「ステップ実行」を見てみる

ここでは、次のようなコードを例にします。

  • A列:出席番号

  • B列:氏名

  • C列:テストの点数

  • D列:80点以上なら「合格」、それ以外は「あと少し」

Option Explicit

'***「合格判定」

Sub CheckScore()

     '--- 対象のシートを変数に入れる(毎回書かなくてよくなる)
    Dim ws As Worksheet 
    Set ws = ThisWorkbook.Worksheets("Sheet1") 

    '--- A列の最終行を取得 
    Dim lngLastRow As Long 
    lngLastRow = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row 

    Dim score As Long

    Dim i As Long 
    For i = 2 To lngLastRow
 
        score = ws.Cells(i, "C").Value       ' ← ここで値が入る
 
        If score >= 80 Then 
            ws.Cells(i, "D").Value = "合格" 
        Else 
            ws.Cells(i, "D").Value = "あと少し"
        End If
 
    Next i

End Sub


実行前のデータ


標準モジュールを挿入


コードを貼り付ける


コンパイル


イミディエイトウィンドウ、ローカルウィンドウ、ウォッチウィンドウ


◆ ステップ実行で見えること

① F8 を押すと、黄色い行が動く

「今どこを実行しているのか」が分かります。

実行前のデータ


ステップ実行(F8):F8を1度押した状態


ステップ実行(F8):F8をもう1度押した状態


ステップ実行(F8):F8で進めた状態


ステップ実行(F8):F8で進めた状態


② score = Cells(i, "C").Value の行で止まったら

まだ score には何も入っていません。(数値なので0が入っています。)

ステップ実行(F8):scoreには0が入っている。


③ もう一度 F8 を押すと

score に C列の点数が入ります。
(この瞬間が“変数が変わる”タイミングです)

ステップ実行(F8):scoreには75が入る。


ステップ実行(F8):F8で進めた状態


④ 次の行に進むと条件分岐へ

score が 80以上なら「合格」へ、 それ以外なら「あと少し」へ進みます。

ステップ実行(F8):scoreが75だったので条件分岐で「あと少し」へ


ステップ実行(F8):F8で進めた状態


データには「あと少し」が入る。


ステップ実行(F8):F8で進めた状態


ステップ実行(F8):F8で進めた状態
最終行でなかったので、ループしている。


◆ ステップ実行は便利だけれど、少し大変

ステップ実行はとても分かりやすい反面、 1 行ずつ進めるので、長いコードだと少し大変 です。

何十行もあるコードを全部 F8 で追うのは時間がかかる

「この行だけ見たい」というときも、そこまで F8 を連打する必要がある

途中で「あ、ここから先だけ確認したい」と思っても、止める方法がない

こうした“ちょっとした不便さ”が出てきます。

でも、ここで次の機能が生きてきます。



第3章 ブレークポイント(F9)とは何か

ステップ実行(F8)は、コードの動きをじっくり観察できる便利な機能です。 ただ、1行ずつ進める必要があるため、 「この行だけ確認したい」というときには少し大変です。

そこで役に立つのが ブレークポイント(F9) です。

ブレークポイントは、 「ここで一度止まってほしい」という場所を指定できる“安全装置” です。 長いコードでも、必要な場所だけをピンポイントで確認できるようになります。


◆ ブレークポイントの基本

① 行の左端をクリックすると赤い丸がつく

VBA のコードの左側(行番号の横)をクリックすると、 赤い丸がつきます。 これがブレークポイントです。

ブレイクポイント(F9)


② F5 で実行すると、赤丸の行で必ず止まる

コードを F5 で実行すると、 ブレークポイントを置いた行でピタッと止まります。 いきなり全部動くことはありません。


③ 止まった状態から F8 で1行ずつ進められる

止まったあとは、 「ここから先だけゆっくり見たい」というときに F8 を押して1行ずつ進めることができます。


◆ 合格判定サンプルで「ブレークポイントの便利さ」を体験する

ここでは、先ほどの合格判定コードを使って、 ブレークポイントの“本当の便利さ”を見てみます。

score = ws.Cells(i, "C").Value   ' ← ここで値が入る

この行は、 C列の点数が score に入る瞬間 です。

ここにブレークポイントを置くと、 「score に何が入るのか」を安全に確認できます。


◆ 実際の流れ

① score = ... の行に赤丸をつける

行の左端をクリックすると赤丸がつきます。

ブレイクポイント(F9):F9を押下すると赤丸が付く。


② F5 で実行すると、その行で止まる

黄色い行が score = ... に来た状態で止まります。 この時点では score はまだ空です。

ブレイクポイント(F9):ブレイクポイントで止まっている状態


③ F8 を押すと、score に値が入る

たとえば C列に「75」が入っていれば、 F8 を押した瞬間に score が 75 になります。

この“変わる瞬間”が見えるのがポイントです。

ブレイクポイント(F9):F8を押下するとscoreに75が入る。


④ 次の行に進むと条件分岐へ

score が 80以上なら「合格」、 それ以外なら「あと少し」。


⑤ 問題なければ F5 で最後まで実行

「ここまで大丈夫」と確認できたら、 あとは F5 で一気に最後まで動かせます。


◆ ステップ実行よりも“必要なところだけ見られる”のが魅力

ステップ実行(F8)は丁寧ですが、 長いコードだとどうしても時間がかかります。

  • 1行ずつ追うのは大変

  • 途中の行だけ見たいのに、そこまで F8 を連打する必要がある

  • 「この行で変数が変わるはず」という場所にすぐ行けない

こうした不便さを、 ブレークポイントはすべて解決してくれます。

「知りたいところまで一気に飛んで、そこからだけゆっくり見る」 これができるようになると、 VBA のテストが一気に楽になります。



第4章 AI が作ったコードを“安全に試す”手順

AI にコードを作ってもらえるようになったことで、 「自分で書けなくても自動化に挑戦できる」時代になりました。 でも、いざ動かすとなると、 やっぱりどこかに不安が残るものです。

そこで大切なのが、 “安全に試すための手順” を知っておくことです。 この手順さえ守れば、コードを壊す心配はありません。 むしろ、安心して AI と協力できるようになります。


◆ 手順の流れ

① AI にコードを作ってもらう

まずは、AI にやりたいことを伝えてコードを作ってもらいます。 自分で書けなくても大丈夫です。


② そのまま貼り付ける

VBA の画面に貼り付けます。 この時点ではまだ実行しません。


③ いきなり実行しない

初心者が一番やってしまいがちなのが、 貼り付けてすぐに F5 を押してしまうこと。 でも、何が起きるか分からないまま実行するのは不安ですよね。

ここで慌てず、次のステップへ進みます。


④ まず F8 で1行ずつ動かす(ステップ実行)

ステップ実行(F8)を使うと、 コードが 1 行ずつゆっくり進む ので、 「今どこを実行しているのか」が分かります。

合格判定のサンプルで言えば、

  • score = ws.Cells(i, "C").Value の行で止まる

  • F8 を押すと score に点数が入る

  • 次の行で条件分岐に入る

という流れが“目で見て”確認できます。


⑤ 必要なら F9 で止める場所を作る(ブレークポイント)

ステップ実行は丁寧ですが、 長いコードだと F8 を何度も押す必要があります。

そこで、 「この行だけ確認したい」 という場所にブレークポイント(F9)を置きます。

たとえば、

score = ws.Cells(i, "C").Value

この行に赤丸をつけておけば、 F5 を押したときに必ずここで止まります。

止まったら、 F8 で1行だけ進めて score の値を確認できます。


⑥ 「どこまで動いたか」「何が起きたか」を確認する

ステップ実行とブレークポイントを組み合わせると、

  • 変数が変わる瞬間

  • 条件分岐の動き

  • ループが何回まわっているか

  • どの行で止まっているか

こうした“コードの中の出来事”が すべて目で見えるようになります。

見えないものが見えるようになると、 不安は自然に小さくなっていきます。


⑦ 問題があれば AI に聞く(自分で直さなくていい)

もし途中でエラーが出ても、 「自分で直さなきゃ」と思う必要はありません。

  • どこで止まったか

  • 何をしようとしていたか

  • どんなエラーが出たか

これを AI に伝えれば、 修正案を作ってくれます。

初心者が一番つまずく 「直せない…どうしよう…」 という不安を抱える必要はありません。



第5章 よくある“初心者の不安”とその解消

VBA を動かしていると、 初心者の方が必ずといっていいほど感じる不安があります。 でも、その多くは「知ってしまえば怖くない」ものばかりです。

ここでは、よくある不安と、その解消方法をまとめました。 どれも今回のステップ実行(F8)やブレークポイント(F9)を知っていれば、 落ち着いて対処できるものです。


◆ 「途中で止まったらどうするの?」

コードが途中で止まるのは、正常な動き です。

  • ステップ実行(F8)で止まった

  • ブレークポイント(F9)で止まった

  • エラーで止まった

どれも「今ここにいますよ」という合図にすぎません。

止まったら、 F8 で進めるか、リセットボタンで止めれば大丈夫 です。 壊れることはありません。


◆ 「変なところが黄色くなった…」

黄色い行は、 “次に実行される行”を示すマーカー です。

  • 何かが壊れた

  • 変な状態になった

  • 失敗した

という意味ではありません。

ただ「今ここにいますよ」と教えてくれているだけ。 黄色い行は、むしろ安心のサインです。


◆ 「エラーが出たらどうしよう」

エラーは怖いものではなく、 “道案内”のようなもの です。

  • どの行で止まったか

  • 何をしようとしていたか

  • どんなエラーだったか

これが分かれば、AI に伝えるだけで 修正案を作ってくれます。

初心者が自分で直す必要はありません。 エラーは「ここを見てね」というメッセージだと思ってください。


◆ 「理解できないまま進んでいいの?」

はい、今は“見るだけ”で十分です。

今回の目的は、

  • コードを書くこと

  • 理解すること

ではなく、

「動きを見ることに慣れる」 ことです。

ステップ実行やブレークポイントを使って、

  • どこで止まるのか

  • どんな値が入るのか

  • どちらの分岐に進むのか

こうした“動き”を眺めるだけで、 自然と理解が深まっていきます。

理解はあとからついてきます。 今は「怖くない動かし方」を身につけるだけで十分です。



第6章 まとめ:テストを知るとVBAが怖くなくなる

VBA を学ぶとき、 「コードを書けるようになること」がゴールだと思いがちですが、 実はその前に大切なのは “動きを見ることに慣れる” ことです。

今回扱ったステップ実行(F8)とブレークポイント(F9)は、 まさにそのための道具でした。

  • F8 でゆっくり 1 行ずつ進める

  • F9 で「ここで止まってほしい」を実現する

この 2 つを知るだけで、 VBA の世界は一気に優しく、そして安全に感じられるようになります。

コードは、いきなり全部理解しなくても大丈夫です。 まずは “どこで何が起きているのか” を 目で見て確かめられるようになること。 それだけで不安はぐっと小さくなります。

そして、AI が作ったコードなら、 分からないところがあっても、 エラーが出ても、 自分で直す必要はありません。 “見て、確かめて、必要なら AI に聞く”── この流れができれば、もう十分です。

今回までの4回で、 VBA を“怖くないもの”にするための土台が整いました。 この記事が、あなたの未来に向けた挑戦の 小さな後押しになれば嬉しく思います。



後書き

今回の記事では、VBA を「書く」よりも前に知っておきたい “怖くないテスト方法” を中心に紹介しました。

コードというと、どうしても 「理解しなきゃ」「書けるようにならなきゃ」 と身構えてしまいがちですが、 本当に大切なのは “動きを見ることに慣れる” ことです。

ステップ実行(F8)でゆっくり進めて、 ブレークポイント(F9)で必要なところだけ止めて、 「今どこにいるのか」「何が起きているのか」を確かめる。 それだけで、VBA はぐっと優しく感じられるようになります。

そして、AI がそばにいる今は、 分からないところがあっても、 エラーが出ても、 自分で全部解決する必要はありません。

初心者さんのペースで、 ゆっくり、安心して進んでいけば大丈夫です。

このシリーズが、 VBA を“怖くないもの”に変える 小さなきっかけになっていたら嬉しく思います。

ここまで読んでくださり、ありがとうございました。


前回の内容はこちらです。↓


いいなと思ったら応援しよう!