かっきぃーの雑記帳

おもしろき こともなき世を おもしろく

とりあえず使えるエクセルVBAマクロ超入門 / マクロ実行でエラーが発生。解決方法の見つけ方。

Lesson3 マクロ実行でエラーが発生

プログラムを作成していると、スペルミスや構文の使い方間違いなどにより、エラーが発生したり、想定どおりの処理がされない場合があります。ここでは、これらの問題解決に役立つ対処方法をまとめます。

 

プログラムを1行ごとに実行する

プログラムを1行ごとに実行することができます。これにより、その処理の流れや変数の値を確認することができます。1行ごとに実行する方法は、まずVisual Basic Editorをひらき、実行したいマクロのSub~EndSubの間にカーソルをおきます。

その後、「F8」キーを押すと、初めの行が黄色に変化します。もう一度、「F8」キーを押すと、黄色で示された場所が変わります。この黄色で示されている場所が、現在処理中の位置になります。

この黄色で示された位置からFor~Next文では所定の回数繰り返し処理が行われていることが確認できますし、If文ではどの条件式に合致して、処理が行われているかを確認することができます。

f:id:k_create:20180924020642p:plain

 

スポンサーリンク

 

 

処理過程での変数の値を確認する

変数の値を確認するにはウォッチウィンドウを利用します。

まず、「表示(V)>ウォッチウィンドウ(H)」を選択します。すると、マクロが記載されている領域の下部に「ウォッチ」と記載されたウィンドウが表示されます。

このウィンドウの上で、右クリックを押して出てくる選択肢の中から、「ウォッチ式の追加」を選択し、確認したい変数名を追加します。

f:id:k_create:20180924020651p:plain

 

ウォッチウィンドウを開かなくても、プログラム中の変数の文字にカーソルを合わせると、値を確認することもできます。ちょっと確認してみたい程度の簡易的な確認には便利です。

f:id:k_create:20180924020658p:plain

 

処理を途中で中断する

「F8」キーを押すと1行ずつ処理ができることは説明しました。ただし、大規模で行数の多いプログラムを実行する際は、確認したい場所にたどりつくまでが大変です。

そこで、「Stop」という構文を利用します。プログラム中に「Stop」があれば、その時点で中断し、中断した場所が黄色で示されます。

その後は、「F8」キーによる1行ごとの処理もできますし、単に実行をすることもできます。

 

次のステップへ

                  10  11

とりあえず使えるエクセルVBAマクロ超入門(もくじ)

 

スポンサーリンク