ExcelVBAを使う際のちょっとしたテクニックやコツなどを記載していきます。
練習問題を見たい場合は練習問題一覧を押下し確認してください。
今回はデバッグについて記載していこうと思います。
■デバッグとは
プログラムのバグ(意図したとおりに動いていない箇所、おかしいところ)を見つけて修正することです。
開発する際、コードを書けば完成ではなく意図したとおりに動くことを確認してはじめて完成と言えます。
デバッグができるかどうかでスムーズに開発を行えるかどうかがわかれるので
初心者であればなおさらこのデバッグは最初のうちにしっかりおさえておいた方が良いです。
■エラーの種類と概要
VBAではエラーの種類に以下の2つがあります。
- 文法エラー
- 論理エラー
文法エラーは書式や構文を間違っているとでるエラーです。
例えば開始と終了のカッコの数が同じではない場合やダブルクォーテーション(”)が不足している場合などにでます。
▼終了のカッコが足りないまま改行をしようとした結果
改行の際に文法が正しいかを確認し正しくない場合はこのように該当行の文字が赤くなります。
論理エラーは文法は正しいが論理的に間違っているとでるエラーです。
例えば存在しないファイルを指定した場合や存在しないインデックスを指定した場合などにでます。
▼存在しないインデックスを指定した結果
実行したときにでます。文字は赤くなりません。
ボックス内の[終了]を押下するとマクロが終了し、
[デバッグ]を押下すると処理が失敗した行が黄色くなりマクロが一時停止します。
▼[デバッグ]を押下したあとのプログラム
これをデバッグモードといいます。
デバッグモードでプログラムを修正したあとは[F5]を押下することで続きから処理を実行することができます。
■まとめ
- デバッグとは、プログラムのバグ(意図したとおりに動いていない箇所、おかしいところ)を見つけて修正すること
- エラーは文法エラーと論理エラーの2種類ある
- 文法エラーは書式や構文を間違っているとでるエラーで、改行の際に文法が正しいかを確認し正しくない場合は該当行の文字が赤くなる
- 論理エラーは文法は正しいが論理的に間違っているとでるエラーで、実行したときにでる。文字が赤くならない。
初心者であればなおさら知ってほしいデバッグの話でした。
次回はデバッグのテクニックについて書いていこうと思います。