カテゴリ: Excel VBA 更新日: 2026/02/04

Excel VBAのブレークポイント設定と使い方!初心者でも理解できるデバッグの基本

ブレークポイントの設定と使い方!VBA初心者でも理解できるデバッグの基本
ブレークポイントの設定と使い方!VBA初心者でも理解できるデバッグの基本

先生と生徒の会話形式で理解しよう

生徒

「Excel VBAでマクロを動かすと、どこで間違っているのか分からなくなります…」

先生

「それなら、ブレークポイントを使うと途中で止めて確認できますよ。」

生徒

「途中で止めるって、どういうことですか?パソコン初心者でもできますか?」

先生

「もちろんです。VBEの画面を使って、目で見ながら確認できます。」

1. ブレークポイントとは何か

1. ブレークポイントとは何か
1. ブレークポイントとは何か

ブレークポイントとは、Excel VBAのマクロを途中で一時停止させるための目印です。 プログラムは通常、上から下へ一気に実行されますが、 ブレークポイントを設定すると、その行でピタッと止まります。

例えるなら、長い道を車で走っている途中にある赤信号のようなものです。 赤信号があることで、止まって周りの状況を確認できます。 VBAのブレークポイントも同じで、処理の途中を確認するために使います。

2. なぜExcel VBAでブレークポイントが必要なのか

2. なぜExcel VBAでブレークポイントが必要なのか
2. なぜExcel VBAでブレークポイントが必要なのか

VBA初心者がよく困るのは、「結果が違う」「途中で止まる」「何も起きない」といった問題です。 いきなり最後の結果だけを見ると、どこが原因なのか分かりません。

ブレークポイントを使えば、途中の状態を一つずつ確認できます。 Excel VBAのデバッグ作業では、最も基本で重要な機能です。 VBEの設定を整えることで、初心者でも安心してマクロを作れるようになります。

3. ブレークポイントの設定方法

3. ブレークポイントの設定方法
3. ブレークポイントの設定方法

ブレークポイントの設定はとても簡単です。 VBE(Visual Basic Editor)でコードを表示し、 止めたい行の左側をクリックするだけです。

行の左側に赤い丸が表示されれば、ブレークポイントが設定されています。 もう一度クリックすると解除できます。 キーボードではF9キーでも切り替えが可能です。


Sub SampleBreak()
    Dim num As Integer
    num = 5
    num = num + 10
    MsgBox num
End Sub

上の例では、「num = num + 10」の行にブレークポイントを置くと、 その行の直前で処理が止まります。

4. ブレークポイントで止まった後の画面の見方

4. ブレークポイントで止まった後の画面の見方
4. ブレークポイントで止まった後の画面の見方

マクロを実行すると、ブレークポイントの行が黄色く表示されます。 これは「次に実行される行」を意味しています。 パソコン初心者でも、色が変わるので直感的に分かります。

この状態では、まだその行の処理は実行されていません。 周辺のコードや変数の値を確認する時間が与えられています。

5. ブレークポイントとステップ実行の組み合わせ

5. ブレークポイントとステップ実行の組み合わせ
5. ブレークポイントとステップ実行の組み合わせ

ブレークポイントで止まった後は、F8キーを押すことで一行ずつ進められます。 これをステップ実行と呼びます。 ステップ実行とは、プログラムを少しずつ動かして確認する方法です。

初心者は、マクロを一行ずつ追いかけることで、 「今何をしているのか」を理解しやすくなります。


Sub StepSample()
    Dim total As Integer
    total = 1
    total = total * 3
    total = total + 2
    MsgBox total
End Sub

6. ブレークポイントを使った簡単なデバッグ例

6. ブレークポイントを使った簡単なデバッグ例
6. ブレークポイントを使った簡単なデバッグ例

例えば、計算結果が合わないとき、 ブレークポイントを使って途中の数字を確認します。 これは、電卓で途中式を見直す感覚に近いです。


Sub CalcCheck()
    Dim price As Integer
    price = 100
    price = price - 30
    price = price * 2
    MsgBox price
End Sub

各行にブレークポイントを置けば、 priceの値がどのように変化しているかを順番に確認できます。 Excel VBAのデバッグでは、この方法がとても役立ちます。

7. ブレークポイントを使うときの注意点

7. ブレークポイントを使うときの注意点
7. ブレークポイントを使うときの注意点

ブレークポイントは便利ですが、設定したままだと マクロが毎回途中で止まってしまいます。 動作確認が終わったら、必ず解除しておきましょう。

VBEのメニューから「すべてのブレークポイントをクリア」もできます。 Excel VBAの開発環境構築では、 デバッグ機能を正しく使うことがとても大切です。

8. 初心者にとってのブレークポイントの価値

8. 初心者にとってのブレークポイントの価値
8. 初心者にとってのブレークポイントの価値

ブレークポイントは、Excel VBA初心者にとって最大の味方です。 いきなり完璧なマクロを作る必要はありません。 止めて、見て、確認することが理解への近道です。

VBE設定の一部としてブレークポイントを使いこなせば、 デバッグが怖いものではなくなります。 パソコン操作に不慣れでも、少しずつ慣れていけます。

まとめ

まとめ
まとめ

今回の記事では、Excel VBA開発において欠かすことのできない「ブレークポイント」の基本から具体的な活用方法までを詳しく解説してきました。VBA初心者の方にとって、自分が書いたコードが思い通りに動かない時間は非常にストレスを感じるものです。しかし、ブレークポイントという「一時停止ボタン」を使いこなせるようになれば、プログラムの内部で何が起きているのかを手に取るように把握できるようになります。

デバッグ作業の効率を劇的に上げるテクニック

マクロの実行を途中で止めるブレークポイントは、単なるエラー探しのためだけのツールではありません。変数の値が意図した通りに変化しているか、条件分岐(If文)が正しく機能しているかなど、プログラムの挙動を一つひとつ「検品」するための重要な工程です。特に、大規模なコードになればなるほど、一気に実行してエラーの原因を探すのは困難になります。適切な位置にブレークポイントを設置し、そこからF8キーによるステップ実行を組み合わせることで、修正作業の時間は大幅に短縮されるでしょう。

よく使うデバッグ関連のショートカットキー一覧

VBE(Visual Basic Editor)での作業をスムーズにするために、以下のショートカットキーを覚えておくと非常に便利です。これらを活用することで、マウス操作を減らし、よりプログラミングに集中できる環境が整います。

  • F9:ブレークポイントの設定・解除(カーソルのある行)
  • F5:マクロの実行(ブレークポイントがある場合はそこまで実行)
  • F8:ステップイン実行(一行ずつコードを進める)
  • Ctrl + Shift + F9:すべてのブレークポイントを解除

実践的なサンプルコードで動作を再確認

ここでは、ループ処理(For文)の中でブレークポイントがどのように役立つか、具体的なコードを見てみましょう。繰り返し処理の中で変数がどのように加算されていくかを確認する練習に最適です。


Sub DebugLoopSample()
    Dim i As Integer
    Dim total As Integer
    
    total = 0
    
    ' 下の行にブレークポイントを設定して、iの変化を確認しましょう
    For i = 1 To 5
        total = total + i
        Debug.Print "現在のiの値は: " & i & " 、合計は: " & total
    Next i
    
    MsgBox "最終的な合計は " & total & " です。"
End Sub

上記のコードを動かす際、total = total + i の行にブレークポイントを置いてみてください。F5キーで実行すると、繰り返し処理のたびにプログラムが止まります。その際、変数「i」の上にマウスカーソルを置くと、現在の値が表示されます。このように「中身を覗き見」しながら進めるのが、VBA上達の秘訣です。

実行結果のイメージ

イミディエイトウィンドウ(Ctrl + Gで表示)には、以下のような実行経過が出力されます。ブレークポイントで止めるたびに、一行ずつ出力が増えていく様子が確認できるはずです。


現在のiの値は: 1 、合計は: 1
現在のiの値は: 2 、合計は: 3
現在のiの値は: 3 、合計は: 6
現在のiの値は: 4 、合計は: 10
現在のiの値は: 5 、合計は: 15

Office Scripts(TypeScript)の場合の考え方

最近ではExcelの自動化としてOffice Scriptsを利用する機会も増えています。VBAのVBEとは環境が異なりますが、「デバッグ」の考え方は同じです。ウェブ版のExcelエディターでも、行番号の左側をクリックすることでブレークポイント(赤い点)を打つことができます。


function main(workbook: ExcelScript.Workbook) {
  let sheet = workbook.getActiveWorksheet();
  let count = 0;

  // ここにブレークポイントを設定して変数の動きを確認
  for (let i = 0; i < 5; i++) {
    count += i;
    console.log(`現在のループ回数: ${i}, 合計: ${count}`);
  }
}

最後に:失敗を恐れずに「止めてみる」こと

プログラミングにおいて、一発で完璧なコードが書ける人はほとんどいません。プロのエンジニアほど、ブレークポイントを多用して細かく動作をチェックしています。「動かない!」と頭を抱える前に、まずは怪しいと思う場所に赤い丸をつけてみましょう。止まった画面の中に、必ず解決のヒントが隠されています。Excel VBAの機能をフル活用して、デバッグ作業を「パズルを解くような楽しい時間」に変えていってくださいね。

先生と生徒の振り返り会話

生徒

「先生、ありがとうございました!ブレークポイントって、ただ止めるだけじゃなくて、止めた後に変数の値を確認できるのがすごく便利ですね。今までメッセージボックスをたくさん入れて確認していたのが嘘みたいです(笑)」

先生

「そうですね。MsgBoxで確認するのも一つの手ですが、ブレークポイントならコードを汚さずに済みますし、ステップ実行で一行ずつの動きを追えるのが最大のメリットです。イミディエイトウィンドウも活用できていましたか?」

生徒

「はい!Debug.Printで出した結果を後でまとめて見られるので、流れがよく分かりました。あと、F9キーでサッとポイントを付けられるのも時短になって嬉しいです。」

先生

「素晴らしいですね。もしループ処理の中で、特定の条件の時だけ止めたいという場合は、If文の中にブレークポイントを置くというテクニックもありますよ。デバッグは『どこで何が起きているか』を特定する推理ゲームのようなものです。」

生徒

「推理ゲーム、そう考えると楽しくなってきますね!エラーが出ても、これからは『よし、ブレークポイントで突き止めてやるぞ!』という気持ちで取り組めそうです。もっと複雑なマクロにも挑戦してみます!」

先生

「その意気です!デバッグの基礎が身につけば、VBAだけでなく他のプログラミング言語でも通用します。Office Scriptsなどの新しい技術にも共通する考え方なので、ぜひこの感覚を忘れないでくださいね。」

カテゴリの一覧へ
新着記事
New1
Office Scripts
Office Scriptsで日付判定!Excel条件付き書式を自動化して期限管理をラクにする方法
New2
Office Scripts
Office Scripts普及の歴史とMicrosoftの方向性!Excel自動化が進化してきた流れをやさしく解説
New3
Excel VBA
Excel VBA関数を用途別に作成!計算・文字列処理の基本を初心者向けに解説
New4
Office Scripts
Office Scriptsで条件付き書式を自動化!数値変化に応じてExcelの書式を自動更新する方法
人気記事
No.1
Java&Spring記事人気No1
Excel VBA
Excelマクロのセキュリティ設定の基本!安全に実行するための信頼センター設定まとめ
No.2
Java&Spring記事人気No2
Office Scripts
Office Scriptsでできること・できないことを完全整理!Excel自動化の基本と限界をやさしく解説
No.3
Java&Spring記事人気No3
Excel VBA
Excel VBAとOffice Scriptsの違いを比較!初心者でもわかる学ぶべきスキル
No.4
Java&Spring記事人気No4
Excel VBA
目的別にモジュールを分割する方法!処理単位で整理して見やすくするテクニック
No.5
Java&Spring記事人気No5
Excel VBA
Excel VBA基本文法の総まとめ!初心者が必ず押さえるべき20の基礎ポイント完全ガイド
No.6
Java&Spring記事人気No6
Office Scripts
Office Scriptsで条件付き書式を自動化!Excel自動化初心者向けスクリプト操作の基本
No.7
Java&Spring記事人気No7
Excel VBA
Excel VBAの開発環境を最速で整える!VBEの開き方から基本操作まで完全ガイド
No.8
Java&Spring記事人気No8
Office Scripts
Office Scriptsで日付判定!Excel条件付き書式を自動化して期限管理をラクにする方法