【エラー対策とエラーに関する用語解説】についてのお話です。今回はバグやエラーの対処法についてのお話です。VBAなどのプログラミングをしていると必ずエラーが発生します。このエラーには原因があり、エラーの原因を見つけ出して修正する必要があります。そんなエラーの対処方法について見ていきましょう。まとめバグとデバッグIT用語には「バグ」という言葉があります。バグは英語で「bug」つまり「虫」という意味があり、プログラムの中に潜む問題点のことを言います。プログラムの問題をバグというのでしょうか?これはまだコンピューターが生まれて間もない頃、調子が悪くなったコンピューターを分解してみたところ中に虫が紛れてたことが原因だったことから、バグという言葉が使われるようになったそうです。一つバグに似ている言葉で「デバッグ」という言葉があります。デバッグは英語で「debug」と書きます。bugの前に「de」と付いていますよね。「de」とは「除去」という意味があります。デバッグとは「問題点を取り除く」と言う意味になります。バグとはプログラムに潜む問題点のことで、デバックとはプログラムに潜む問題点を取り除く(修正する)ことを言います。IT関係ではよく使われる用語なので覚えておきましょう。エラーとはバグと混同されやすい言葉が「エラー」です。エラー(Error)は「間違い」という意味です。一般的にもよく使う言葉ですが、VBAでは途中でコードの処理が止まってしまうことを言います。エラーには、大きく分けると2種類あります。Sub4~6行目のコンパイルエラーは、パソコンが理解できるようにするための書き方が出来ていないことで起こります。「スペルや書き方にミス」があるので、エラーになってコードを実行することが出来ません10~12行目はコードを実行した結果エラーになります。実行時エラーは、コンパイルエラーに似ていますが、実行した結果何かが足りなかったり、どこかが間違っていることでコードの実行が出来ませんコンパイルエラーと実行時エラーはすぐに見分けられます。コンパイルエラーは、エラーがあると赤文字になるのでVBE上で修正すれば問題は解決出来ます。実行時エラーはコードを実行することは出来ます。実行してみた結果エラーが発生するので後から修正する必要があります。実際のエラー画面はこんな感じですエラーには2つのパターンがあるので、なんとなくでも良いので覚えておきましょうエラーが発生した時の対応方法ではエラーが発生した場合は、どうすれば良いのでしょうか?答えはエラーを修正するしかありません。エラーの原因を解決しない限りコードは実行出来ませんからね。実際の修正方法を見ていきましょう。コンパイルエラーが発生するタイミングと対処法について見ていきましょう。コンパイルエラーは、行を変えた時に起こるエラーなのでその場で修正しましょう行を変えるとは、3行目に間違ったコードを書いて4行目に移動した(エンターキーを押した)時に起こります。こんな風にコンパイルエラーがあることを知らせてくれます。閉じカッコ「)」が選択されているので「OK」ボタンをクリックして閉じカッコを削除しましょうコンパイルエラーは分かりやすいので修正しやすいですね。実行時エラーはコードを実行した時にエラー表示がされるので「デバッグ」ボタンをクリックして問題点を修正します。「デバックボタン」をクリックすればコードの修正が出来ます。「終了ボタン」をクリックすると修正せずにコードの処理を強制的に終了することが出来ますデバッグボタンをクリックすると、エラーの原因になっている行を黄色く表示してくれます。今回の場合は「””」が足りないので正しく修正すれば問題は解決出来ます。実行時エラーの原因はデバッグエラーよりも原因が特定しづらいので難易度は少し上がります。中断・リセット・ステップインエラーが発生してデバッグモードになると、コードの処理は中断されます。こんな風にタイトル部分に[中断]と表示されて、中断アイコンが押された状態になります。中断中はコードの実行が途中で止まっているだけなので、変数などに入っている値は残っています。この値が残っている状態は重要です。「変数A」には「文字」が入っていて間違ってセルの指定の時に変数Aを使ってしまったとしましょうそうすると当然エラーになります。こんな風に変数Aには文字が入っていてセルの内容を表示させようとしていますこの場合は「Cell(テスト,1)」となってしまうので意味が通じずエラーになります変数Aには何が入ってるのかは、ローカルウィンドウに表示されるのでエラーの原因がすぐに分かりますもし、変数の中身が消えてしまったら何が原因だったのか分からなくなってしまうので、中断状態は重要だということだけは覚えておきましょう。中断ではなく処理自体を終わらせたい時は、リセットボタンを押します。リセットは「■」ボタンを押せばOKです。中断モードが解除されて元のVBEの画面に戻りますデバッグ作業のために最初から覚えておきたい方法がもう一つあります。それが「ステップイン」という方法です。ステップインはコードを上から順番に実行していく方法です。私もよく使いますがコードを1行ずつ実行させることで、エラーの発生元を発見するのにすごく役立ちます。ステップインの実行方法はすごく簡単です。1デバック→ステップインをクリック21行目から1行ずつ順番に実行してくれるので、エラーになるまで実行していきます実行していくと、またエラーで処理が止まりますつまり、そこがエラーの原因ということですねただし、ステップインを使う時は、ショートカットキーも必ず覚えちゃいましょう。ショートカットキーは「F8キー」なのでF8キーを連打して、素早くエラー原因を見つけ出しましょう。エラーは必ず起こるのでデバッグの基本はしっかりと覚えておきましょうね。ポイントステップインを使う時は、ステートメント内(Subの行)をクリックしておかないと実行してくれませんまた、任意の場所をクリックしてからステップインを実行すると、その場所から実行してくれるので覚えておきましょうまとめ今回は、バグやデバッグの意味・エラーとの違いやデバッグの基本操作についてお話してきました。VBAを始めプログラムにはバグは付きものです。エラーを起こさずに何かを作ることは出来ません。最初はエラーがたくさん起きて嫌になることもあるでしょう。エラーの原因は結構単純なものだったりするので、一度落ち着いてコードを見直したり書き方やスペルに間違いが無いかチェックしてみて下さい。慣れていけば、エラーの原因は発見しやすくなってくるので落ち着いて探しましょうたまに上手くいかなすぎて「ぬぉぉぉぉ~~~!!!」なんてこともあるのでそういう時は他のことをやって下さい。あのエラーの原因ってこれかも」なんてひらめいたりするものです。エラーの対策術をしっかりと覚えておきましょう。最後まで読んでいただきありがとうございます。それでは、次回またお会いしましょう。読み込み中...ExcelExcelvbaこの記事が気に入ったらいいねしよう!最新記事をお届けします。コメントをキャンセルメールアドレスが公開されることはありません。Caseでスマートに条件分岐してみようVBAで条件分岐させるIF文の使い方の基礎RECOMMENDこちらの記事も人気です。ともあき)Excel・Word・ブログ・アウトドアが大好きです。2005年母の経営するエステサロンで仕事を始める→25歳の時にゲーム業界転職を目指すも挫折→Officeの講師業・IT企業へ就職して失敗→現在エステサロンに復帰し運営しています。零細企業や女性を中心にOfficeの悩みの解決や仕事の効率化などの活用方法を発信しています。(必須)サイト%d人のブロガーが「いいね」をつけました。