タカヒロ@extanVBAのエラーを処理する3つの方法!エラー無視も!VBAで発生するエラーをうまく処理したいことはないでしょうか。エラーが発生したら例外的に処理をスキップさせたり、エラーを無視して処理を継続させたりなどです。・エラー発生時に例外処理を行わせる方法はどうすればよい?・エラーを無視する方法はどうすればよい?ですよね。0」ステートメントさいごにVBAのエラーの種類を把握するまずはVBAのエラーの種類について把握しておきましょう。大きく分けて3つあります。1構文エラー(コンパイルエラー)構文エラーとは、コード内の構文ミスがあったときに発生します。Forステートメントの最後にNextを付け忘れたり、IfステートメントにThenを入れ忘れたりする場合に発生します。VBEでリアルタイムにチェックしているときに出るエラー、またはVBAを実行後に発生するエラーが該当します。2実行時エラー(ランタイムエラー)構文チェックはクリアしたけど、実行後の内容に不備がある場合に発生するエラーです。開こうとしたExcelブックが無かったりする場合などに発生します。構文エラー、実行時エラーをクリアし、最後まで実行されますが、シミュレーションとは違う結果になる場合のエラーです。無限ループに陥ったり、異なる値が算出されたり、0で除算をしようとしたりするときが該当します。タカヒロ大量の処理を行う時に発生しやすいですね。処理(ハンドリング)対象となるエラーの種類は?エラーには3つの種類があることをご説明しましたが、エラーを処理(ハンドリング)する対象は3の論理エラーと2の実行時エラーとなります。1構文エラーが外れるのは、そもそも修正をしないとVBAが機能しないので、必ず修正をしなければならないためです。次に、エラー処理(ハンドリング)する比率が高いのは3の論理エラーとなります。それは2の実行時エラーを無視すると、まったく予期しない結果になるためです。データファイルが取得できない時は、エラーを無視したり、例外処理をおこなうよりも、エラーをしっかり出して、ファイルを準備してからリトライした方がよいですよね。エラーに対する対処はエラー発生後の影響範囲や内容によって、決めていく必要があるということです。タカヒロエラー発生後の対処は、運用に支障が出る場合がありますので、基本設計書や運用設計書などに記載された方針に従うようにしましょう。Next」ステートメントエラーを処理(ハンドリング)する一つ目の方法の、VBAのエラーを無視する方法について説明をします。NextをVBAのコードの中に入れるだけです。Next」ステートメントを使用すると、エラーは発生しても無視され、処理は継続されます。大量のデータを繰り返し取得しているときに、値がNullだったり、数値の0が入っていたりする場合エラーが発生しても次のデータを取得し、処理を継続したいときに使用します。実際にサンプルコードでエラーを再現してみましょう。printする処理となります。Sub今回A1の値が0であるので、割り切れず除算エラーとなります。エラーの詳細はこちらをご覧ください。Next」ステートメントを入力します。Sub実行してみますと、A1の値は無視され、最後まで処理が継続されていることがわかりますね。Goto」ステートメントVBAにはVB.netやC#などにあるTry~Catch文はありません。ラベル名」ステートメントを使う形になります。タカヒロラベル名は自由に決めてもらえばと思います。エラー処理(ハンドリング)」とし、「エラー処理(ハンドリング):」のところに例外処理を加えます。printでコンソールに出力します。Sub実行してみましょう。0」ステートメントを使うとエラー無視を解除することができます。0」ステートメントを加えます。サンプルコードでは、エラーを無視する処理とエラー無視を解除する2つの処理を入れています。Sub実行してみましょう。はい、2回目のFor処理のところでエラー無視が無効化され、エラーが発生しましたね。0」ステートメントについてまとめました。VBAのエラー処理(ハンドリング)は他の言語と比べて少ないのですので、しっかりと方法を把握するようにしておきたいですね!この記事の関連キーワードこちらの記事の関連キーワード一覧です。クリックするとキーワードに関連する記事一覧が閲覧できます。「エラー」の関連記事こちらの記事の内容「エラー」に関連する記事一覧です。オーバーフローしました。原因と対処方法2023.5.9SUM関数の計算結果が0になる原因と対処法!0の非表示も対応!2023.2.1VBAエラー:ユーザー定義型は定義されていません。」の原因と対処方法2022.9.8「このプロジェクトのマクロは無効に設定されています。コメントをキャンセルメールアドレスが公開されることはありません。*サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。VBA】メール本文中の”\\”や”file:”や”http”から始まる文字列へハイパーリンクを一括挿入するRECOMMENDこちらの記事も人気です。52「ファイル名または番号が不正です。