中級

エクセルのマクロやVBA
エラー処理


(約文字)

2009-10-10 2018-05-11

【Excel】プログラム実行時に予想される例外に対して最低限の対応を実装。

【Excel】プログラム実行時に予想される例外に対して最低限の対応を実装。

なぜエラー処理をするのか?出てきたエラーはどんな種類かのでしょうか?エラーについて考えてみます。

1.エラー処理の目的

エラー処理の一番の目的はプログラム処理を継続させることです。

プログラム実行時に予想される様々な例外に対して最低限の対応機能を実装する必要があります。 エラー処理が実装されていないプログラムを完成品として配布することはやめましょう。

2.プログラム上で発生するエラーの種類

2-1.構文エラー

コンパイル前やコンパイル時に発生するエラーのこと。VBAの開発環境であるVBEがほとんどのエラーを教えてくれる。 コンパイルが通らなかった場合、そもそもプログラムを実行することができません。

2-2.実行時エラー

例外的なケースに発生するエラー。ロジックの見直しやプログラムの修正で回避します。 回避できない場合はロジックを別なものに置き換えなくてはなりません。

2-3.論理エラー

期待されている結果と異なるエラー。プログラムそのものは正常に動作しているものの、 結果としてユーザーの期待にそぐわない、開発者の意図したものと異なる動作を行うエラーの類です。 開発者が仕様書とにらめっこして、ロジックを修正する以外、対処する方法はありません。

2-4.不正な処理

不正な処理とは「VBAで作ったプログラムが、windowsOSに対して変なことをしようとした。 だからwindowsが、そのVBAプログラムを終了させる」ということです。

2-5.一般保護エラー

保護されたメモリ領域に、VBAで作ったプログラムがアクセスしようとした場合に発生するエラーです。 エラーの発生と原因はさまざまです。

この記事は以上です。最後までご覧頂き、ありがとうございました。