エクセル・VBA

マクロが動かない時の原因と対処法|実行できない理由はこれだ!

マクロが動かない時の原因と対処法を紹介している女性の画像

今回は「マクロ」が動かない原因についてお話しします。

苦手な方専門のパソコン教室

マクロ|VBAにおける主な2つの「デバッグ」

2つのデバッグを紹介している画像

VBAが動かない原因を探すデバッグには、2種類の方法があります。

マクロを1行ずつ実行するステップインは、結果を直接確認できるのでコードを間違えている箇所を特定しやすいです。

任意の位置までプログラムを実行させるブレークポイントは、1行ずつコードを確認する必要がありません。

このようにデバッグの方法はそれぞれでメリットが違うので、状況に応じて使い分ければ短時間でコードのミスを発見し、速やかに修正することができます。

Excelのマクロにおいて、VBAのプログラムが思った通りに動かないことは案外ありがちです。

そんな時にはデバッグが有効で、ステップインとブレークポイントの2つを使いこなせば、原因の特定が行いやすくなります。

デバッグはVBAが動かない原因を探る為の機能ですから、覚えておいて損はないといえるでしょう。

また、イミディエイトウィンドウとウォッチウィンドウを表示しておけば、デバッグの効率が更にアップします。

前者は変数の中身をチェックするのに便利で、テストコードの確認などに役立ちます。

後者は、コードから監視したい変数をドラッグすることによって、実行中のマクロにおける変数の変化が監視できます。

苦手な方専門のパソコン教室

マクロを1行ずつ実行させるステップイン

ステップインを紹介している女性の画像

ステップインを使うなら、ExcelとVBAの画面を並べて表示させましょう。

最初に実行するマクロにカーソルを合わせてF8キーを押すと1行ずつ実行されますから、バグがないか確認して下さい。

もし思い通りに動かないようなら、問題の箇所を修正しもう一度正確に動作するか確かめましょう。

ステップインはF8キーでもできますが、デバッグからステップインでも可能です。

また中断するときには、実行からリセットを押すと中止できます。

ステップインはデバッグ機能の一つで、マクロを1行ずつ実行させることが可能です。

コードの実行中にエラーが出たり、最後まで動作しても思った通りの結果にならないなど、抱えている問題を確認するのが大変です。

しかし、ステップインなら1行単位の実行なので、変数の中身を確認しながらコードがチェックできます。

地道な作業は必要ですが、コードを眺めたり動作を頭の中でシミュレーションするよりは、遥かに現実的で効率の良いデバッグ作業が実現します。

任意の位置まで実行するブレークポイント

ブレークポイントを紹介している女性の画像

ブレークポイントでバグを探すなら、最初に設定をしましょう。

設定したい行の頭にカーソルを動かしクリックすると、黒丸が追加されます。

そして実行にあるSUB/ユーザーフォームの実行を押すと、マクロがブレークポイントまで実行されます。

実行して問題がなければ別の範囲を再設定して、バグが見つかれば修正して下さい。

設定したブレークポイントを消したいときは、黒丸をクリックすれば指定した範囲を解除することができます。

ブレークポイントは、ここまでコードを実行するという印のようなものです。

このブレークポイントを設定すると、指定の場所でプログラムが止まるので、正常に動作する範囲を確認しながらデバッグ作業が進められます。

ブレークポイントは複数個の設定が可能ですし、中断したところから再開するのも容易です。

これで中断、再開と繰り返して行くことで、動かない原因を徐々に絞り込んだり特定に近づけます。

正常に動作すると分かっている部分は普通に実行する、こう考えて使うこともできるので、活用次第で効率的に原因特定を進められるでしょう。

デバッグ時の注意点

注意点を表現している電球の画像

VBAが動かない原因を探すデバッグを行うときの注意点は、カーソルを実行するマクロに合わせることです。

目的のマクロに合わせていないといつまでも実行できませんし、別の箇所に合わせていると無関係なマクロが動作する可能性もあります。

このようなことが起きると、原因がわからずに混乱するかもしれません。

ですが動作しない原因は簡単なことなので、デバッグを始めるときにはカーソルの位置を確かめましょう。

ステップインでもブレークポイントでも、カーソルの位置には注意です。

ステップインの操作もブレークポイントの設定も、実行するマクロのコード内にカーソルを移動させておくことが注意点です。

更に、無限にループするコードはデバッグでも中断できない場合があるので、実行する前に確認を済ませるのが良いでしょう。

バグの原因を特定できたと思っても、その範囲を一度に書き換えたりはせず、必ず編集前のコードを残しておき、小さな範囲で修正してから再実行するのが無難です。

コードを書き換える前の方がマシだった、という状況もデバッグでは発生しがちなので、元に戻せるようにしてけばやり直しができて安心です。

「バグ」のないプログラムを作る方法

バグのないプログラムを作る方法を紹介している男性の画像

バグが発生しても、デバッグで原因を特定し修正すれば問題ありません。

しかしデバッグや修正に時間をとられると効率が落ちるので、最初からバグのないプログラムを作ることも大切です。

キー入力をするときには確実性を重視し、一つ一つ丁寧に入力しましょう。

また面倒だと感じたり時間がないと、処理を省略してしまうこともあります。

バグがない完璧なプログラムを作ることはできませんが、丁寧な仕事をすれば減らすことは可能です。

動かない原因、バグのないプログラムの作成方法は、プログラマーなら誰もが求めているものです。

基本的には、用途が分かるように変数の名前をつけたり、小範囲毎にプログラムをテストをして確実に動くようにすることです。

似たような名前の変数は、それが複数あると混同してしまったり、用途の分かりにくさという混乱を招きバグの温床となります。

ところが、少しずつ機能を加えたり小まめなデバッグを心掛けると、プログラムが巨大になる前にバグが見つかります。

大きなプログラムに潜むバグを探すのは、余分な手間や労力を必要とするので、未然に防いだり早めに発見して修正した方が、結果としてバグが生まれにくく楽です。

VBA講座を紹介しているリンク画像

 

VBA講座を紹介している李bbク画像

ココがおすすめ

パソコン教室へのお問い合わせはこちらから

お問い合わせはこちら

    【 お名前 *必須

    【 携帯電話 *必須

    【 ご希望授業 *必須
    実店舗レッスンオンラインレッスン企業研修パソコン修理依頼

    【 ご質問などあればご記入ください 】

    お問い合わせいただきありがとうございます。送信ボタンを押した後、下に「内容を送信しました。ありがとうございます。」とでれば送信完了です。「090-9503-8923」の電話番号にておかけします。説明会の日時を決めさせて頂けたらと思います。

    お問合せリンク画像

    ココがおすすめ

    オンライン対応しております

    オンライン対応しております

    パソコン教室でのレッスン」も「Zoom(ズーム)」を利用した「オンラインレッスン」どちらも対応可能です。

    パレハのパソコンレッスンは、オンラインなのに「生で質問」出来るのが特徴です。

    詳しくは下記をご覧ください。

    オンラインパソコン教室|オンラインなのに生レッスン

    ココがおすすめ

    パソコン教室パレハ直営校

    パソコン教室パレハ直営校

    ■ パソコン教室パレハ広島市安佐南区緑井校

    ■ パソコン教室パレハ広島市中区本通り校

    ■ 広島市西区にあるパソコン教室パレハ横川校|マンツーマン教室

    ■ パソコン教室パレハ 静岡市駿河区南町校・静岡市葵区伝馬町校

    ココがおすすめ

    パソコン教室パレハグループ加盟校

    自信をもってご紹介できるパソコン教室

    下記はパレハグループ加盟校となります。

    料金体制などは異なりますが、パソコン教室パレハが自信をもってご紹介できるパソコン教室です。

    下記はパレハグループ加盟校となります。

    料金体制などは異なりますが、パソコン教室パレハが自信をもってご紹介できるパソコン教室です。

    ■ 岩出市のパソコン教室キュリオステーション

    ■ 岩出市にあるパソコン教室 「キュリオステーション 岩出店」の公式サイトはこちら

    ■ 名古屋市緑区にある有松パソコン教室

    ■ 愛知県名古屋市緑区にあるパソコン教室 「有松パソコン教室」の公式サイトはこちら

    ■ 福岡市パソコン教室平尾校

    ■ 福岡県福岡市中央区にある 「福岡市パソコン教室平尾校」の公式サイトはこちら

    ■ 調布市にあるパソコン教室キュリオステーションつつじヶ丘店

    ■ 調布市にあるパソコン教室「キュリオステーションつつじヶ丘店」の公式サイトはこちら

    ■ 宮崎市にあるパソコン教室Cosmarp(コスマープ)

    ■ 宮崎市にあるパソコン教室Cosmarp(コスマープ)の公式サイトはこちら

    全国加盟校一覧

    全国のパソコン教室一覧(実店舗&オンライン)|パレハ直営校&グループ加盟校

    ココがおすすめ

    オンライン形式をご希望の方はこちら

    オンライン形式をご希望の方はこちら

    東京・名古屋・大阪・福岡・札幌・横浜・仙台・埼玉・千葉・沖縄などで受講したい方はオンラインレッスン(Zoomを使ったオンライン個別レッスンです)をお選びください。

    オンラインパソコン教室|オンラインなのに生レッスン

    ココがおすすめ

    パソコン教室講座一覧はこちら

    パソコン教室講座一覧はこちら

    他にもパソコンの講座は多数ございます。

    詳しくは下記をご覧ください。

    パソコン教室の受講コース案内(講座のご紹介)

    ココがおすすめ

    パソコン教室に関連する情報はこちら

    こちらも是非ご覧ください

    ココがおすすめ

    パソコンの操作情報はこちら

    マクロとVBAの違いとは?|わかりやすく解説

    エクセルマクロをプロの経験者が教える講座|パソコン教室

    メールの画像

    メールはこちら

    ラインの画像

    LINEはこちら

    電話の画像

    お電話はこちら