「マクロでエラーが出たけど、どこに問題があるかわからない!」
「思いどおりにコードが書けているかマクロの動作をひとつずつ確認したい」
今回はこういったときに役立つコードを記述しながらマクロの動作を確認するための方法をご紹介します。
これをつかえばコードの動作確認がしやすくなりますので、わたしもマクロを作成するときによく使っています。
ステップイン|マクロを一つずつ実行
ステップインをつかえば1行ずつマクロを実行することができます。
この方法をつかえばコードを記述しているときにマクロ実行ができるため、記述しながらマクロの動作を確認することができます。
ステップインの方法はつぎのとおりです。
VBEの画面から実行をします。
- VBEを開く
- 実行したいマクロを選択する
- 「F8」を押下する
- 一行目のコードが黄色マーキングされていることを確認する
- もう一度「F8」を押下する
- 二行目のコードが黄色マーキングされていることを確認する
- もう一度「F8」を押下する
以降、「F8」を押下するたびに黄色マーキングが下に進んでいきます。
「F8」を押下するたびに、黄色マーキングされていたコードが一行ずつ実行されます。
具体例をつかって確認してみましょう。
こちらの状態で「F8」を押下します。
このように黄色マーキングされていたコード1行分だけが実行されます。
(実行されたコード:「Range(“A1”).Value = 1」)
もう一度、「F8」を押下した結果がこちら。
つぎに黄色マーキングされたコード1行分だけが実行されます。
(実行されたコード:「Range(“A2”).Value = 2」)
ステップインをつかえば、このような方法でコードの動作を行単位で確認することができます。
ブレークポイント|マクロ実行を途中で止める
ブレークポイントをつかえば指定した場所までマクロを実行することができます。
たとえばこちらのコードの場合、赤枠内でコードを途中でとめたい場所にクリックをします。
今回はコードの「4行目」を選びました。
この茶色の丸印のことを「ブレークポイント」とよびます。
この状態でマクロを実行してみましょう。
「F5」を押下してマクロ実行をするとこのような状態になりました。
実行結果はこちらです。
「ブレークポイント」の手前でマクロが停止しています。
このように途中までいっきにマクロを実行したいときに「ブレークポイント」をつかいます。
このあとに、「F8」のステップインをつかった1行ごとのマクロ実行ができますし、もういちど「F5」を押下して最後までマクロを実行させることもできます。
まとめ
今回はマクロ作成のコツをご紹介しました。
わたしの経験上、ある程度マクロの作成に慣れてきたときでもコードを書き終えてすぐにエラーなくマクロ実行できることってあまりなかったです。
やはりどこかで間違えた書き方をしてるものです。
そんな修正が必要なときにも今回ご紹介した方法をつかって、ひとつずつマクロの動作を確認しながらコードを書きかえていけるようになると修正作業がスムーズに進みます。
マクロはなんど修正してでも思ったどおりに動いていれば問題はありません。
エラー修正のコツをおさえてどんどん経験値をつんでいきましょう!