【簡単エクセル/Excel VBA マクロ】エラー発生時に変数に格納されている値を調べる方法|ワンポイントテクニック #013



いつもありがとうございます!
ノンプログラマー向け「Excel VBA マクロ ワンポイントテクニック解説シリーズ」へようこそ。
本稿では「エラー発生時に変数に格納されている値を調べる方法」を解説いたします。
デバッグの正確さとスピードは、間違いなく、初級者と中級者を分けるポイントです。本稿では、エラー発生時にVBAが処理を止めてくれる仕組みと、そのタイミングで変数の中身をすばやく確認する方法をご紹介します。
本稿が、あなたのVBAマクロの価値をさらに高める一助となれば幸いです。VBAを活用して、自分自身や身近なコミュニティに合ったアプリケーションを作成し、仕事量は半分に、成果は2倍にしていきましょう!成果を増やす!是非ご覧ください。
VBAでエラー発生時に変数に格納されている値を調べる方法

例を示します。これは、あえてゼロで除算を行うことで、確実にエラーを発生させるサンプルコードです。
Sub DebugSample()
' 変数の宣言
Dim bunshi As Long ' 分子(割られる数)
Dim bunbo As Long ' 分母(割る数)
Dim kekka As Double ' 計算結果
' 変数に値を入力
bunshi = 100
bunbo = 0
' 割り算の実行(ここでエラーが発生)
kekka = bunshi / bunbo
' 結果を表示
MsgBox "計算結果は " & kekka
End Sub
このコードを実行すると、「ゼロによる除算」のためにエラーが発生し、該当の行で処理が停止します。その行は、黄色くハイライトされて表示されます。


ここがデバッグのチャンスです。停止した状態で、変数 bunshi
にマウスカーソルを当ててみてください。すると、その変数に現在格納されている値がポップアップで表示されます。

同じように、変数bunbo
にカーソルを当ててみてください。こちらも変数に現在格納されている値がポップアップで表示されます


以上で、解説は終了です。
関連記事
本稿と関連の深い記事です。もしよろしければ、合わせてご活用ください。
- 【簡単エクセル/Excel VBA マクロ】解説シリーズ目次 | みんなの実用学(jitsuyogaku.com)
- 【簡単エクセル/Excel VBA マクロ】Excel VBA マクロの全体像 | みんなの実用学 (jitsuyogaku.com)
VBAプログラミングスキルアップのための参考情報
ここでは参考図書を紹介いたしますが、これらに限らず自分に合うものを選ぶことが重要だと考えております。皆様の、より一層のご成功を心よりお祈りしております。
VBAプログラミングのスキルアップ
学習用としてもハンドブックとしても役立つ便利な書籍がこちらです。価格はやや高めですが、その内容は非常に充実しています。相応のスキルを身に付けるためには、こうしたしっかりとした書籍を一冊持っておくと良いでしょう。
入門書に関しては、どの書籍も大きな違いはありません。あまり迷うことに時間をかけるよりは、手頃なものを一冊選んでみると良いでしょう。VBAの入門書は数多く出版されていますので、興味がある方はぜひチェックしてみてください。
甲乙つけがたい場合、私はインプレス社の「いちばんやさしい」シリーズを選ぶことが多いです。
\チェックしてみよう/
\チェックしてみよう/
\チェックしてみよう/
VBAのプログラミング能力を客観的に証明したい場合には「VBAエキスパート試験」があります。この試験はVBAの知識を公式に認定するものです。VBAの総合的な能力獲得を目指す方に適しています。以下の公式テキストが販売されております。
プログラミングの一般教養
「独学プログラマー」というプログラミングの魅力を解説した書籍があります。これはVBAではなくPythonを題材としていますが、プログラミングの基本的な知識や思考法、仕事の進め方まで幅広く学べます。
こちらの記事でも紹介しております。もしよろしければご覧ください。

おわりに


ご覧いただきありがとうございました!
今回の記事では、「エラー発生時に変数に格納されている値を調べる方法」を解説いたしました。
お問い合わせやご要望等ございましたら、「お問い合わせ/ご要望」またはコメントにて、ご連絡いただければ幸いでございます。
皆様の人生がより一層素晴らしいものになるよう、少しでもお役に立てれば幸いでございます。
なお、当サイトでは様々な情報を発信しております。もしよろしければ、トップページもご覧いただけると幸いでございます。
この記事を書いた人
- ■人生を追求する凡人■日本一安全で、気の向くままに自分の時間を過ごせる、こだわりのキャンプ場を作るのが夢■光学・機械系エンジニア(歴20年、内マネジメント10年、特許数件権利化)/副業フリーランスエンジニア■読書・文学愛好■人生は時間そのもの。ひとりでも多くの人が「より良い人生にするために時間を使って欲しい」と願い、仕事のスキルの向上、余暇の充実、資産形成を研究。■VBAアプリ開発サービス提供中(業務委託 / VBA使用経験20年)■Python愛好(歴5年)■VBAエキスパート「Excel VBA スタンダード」(上級者向け資格)/ Python 3 エンジニア認定基礎(経済産業省「ITスキル標準(ITSS)」に掲載)