ExcelVBA入門第5回 ステップ実行
プログラムは高速処理が魅力ですが、開発段階でつまずいたとき、検証や動作確認のために1行ずつ確認していくと、どこが原因なのか分かりやすくなります。ExcelVBAには1行ずつハイライトして実行していく「ステップ実行」というモードがあります。
ブレイクポイントの設置
プロシージャの始めの行や宣言を除いた、任意の行の左枠外をクリックしてみると、赤くハイライトされます。これがブレイクポイントです。プログラムを実行すると、この行で一時停止することになります。
[F8]でステップ実行
プログラムを実行してみると、プレイクポイントで黄色くハイライトされ止まりました。ここから[F8]キーを押すと1行ずつ実行していくことができます。この場合だとInputBoxが表示されますので、試しに3と入力して、OKを押してみましょう。
ステップ実行中は、現在の変数の中身を確認できる
InputBoxの処理が終わったので黄色いハイライトは次の行へ移っています。黄色より前の行は実行済みの行なので、現在変数「i」にはなにかしらの値が入っているはずです。「i」の部分にマウスをかざしてみると、マウスの下に「i = 3」と表示されました!これは現在の変数の値であり、先ほど入力した「3」がきちんと変数「i」に格納されていることが確認できます。
思いがけないエラーなどが起きたとき、最初から、あるいはエラーの少し前からステップ実行で1行ずつ見ていくと、どこで意図しない動きがあるのか見つけることができます。また、エラーが起こらなくとも、無駄な処理をしていないかなどの検証にもなりますので、ひとつのプログラムのまとまりが書けたら確認していく癖をつけておくと、後々楽ですね。
ほかの入門記事はこちら
- ExcelVBA入門第0回 始める前に
- ExcelVBA入門第1回 動かしてみる
- ExcelVBA入門第2回 とりあえず覚えておくべきこと
- ExcelVBA入門第3回 変数の宣言
- ExcelVBA入門第4回 RangeとCells
- ExcelVBA入門第5回 ステップ実行
- ExcelVBA入門第6回 If ~ End Ifステートメント
- ExcelVBA入門第7回 インデントとコメントアウト
- ExcelVBA入門第8回 繰り返し処理
- ExcelVBA入門第9回 5種類のモジュールの違い
- ExcelVBA入門第10回 3種類のプロシージャと命名規則
- ExcelVBA入門第11回 スコープ(適用範囲)
- これからExcelのマクロを始めたいという方に!簡単な練習問題作りました。
- 私がExcelVBAでよく使う便利なコード・スニペットまとめ
- プログラム初心者さんへ贈る、エラーが起きたら試してみて欲しいこと
- ExcelVBAのクラスモジュールって何?という人向けの使い方まとめ
書籍を執筆しています。
コメントは承認制ですので、反映までしばらくお待ち下さい。(稀にスパムの誤判定にて届かないこともあるようですので、必要な際はお問い合わせからお願い致します。)
YouTubeでQ&Aコンテンツを企画しています
運営しているYouTubeチャンネルで、ご相談やご質問を募集しています。動画のコメントやお問い合わせページからお気軽にご相談をお寄せください。