エラーは実は「情報の宝庫」、VBAに生かす方法とは脱初心者! 1歩先を行くExcel VBA開発者のススメ(4)(2/2 ページ)

» 2018年02月21日 05時00分 公開
[高橋宣成]
前のページへ 1|2       

■ユーザー入力の内容によって発生するエラー

 引き続き、別のパターンのエラーを見てみましょう。

 今度は「入力してください」という入力のダイアログに対して、通常は数値を入力するのですが、あえて"文字列"を入力して「OK」としてみてみます。すると、図3のようなエラーメッセージが出現します。

図3 実行時エラー:型が一致しません 図3 実行時エラー:型が一致しません
InputBoxでは、入力するデータの型に注意すべき

 エラーの理由は、文字列型の変数に乗算をしようとしたためです。

 この例は、ユーザーに何かを入力させることのリスクを示唆しています。

 まず、「入力してください」というテキストが良くないのは明らかです。自分以外のユーザーがこのプログラムを利用するのであれば、入力すべき値が数値なのか、文字列なのかがわかりません。ここは「数値を入力してください」などとすべきでしょう。

 また、ユーザーのリテラシーが高くなければ、全角の数値を入力してしまう可能性などもあります。その場合は、InputBoxの入力値を判定する処理などを入れるべきかもしれません。

 さて、いくつかのエラーをわざと発生してみましたが、いかがでしたか?

 ほんの短いプログラムでも、様々な発見と学びがあったと思います。

 このように、エラーメッセージは情報の宝庫であり、バグはあなたが成長するための重要な糧なのです。

書籍紹介

ExcelVBAを実務で使い倒す技術

ExcelVBAを実務で使い倒す技術

高橋宣成著
秀和システム 1,800円

苦労してExcelVBAの基礎を学んだのに、期待したほど仕事が楽にならない。実務で使っているうちに、気がついたらVBAが重荷になってきている。あなたは、そんな悩みをお持ちではないでしょうか。本書は、ExcelVBAを実務で使うことを前提に、現場で求められる知識と知恵を解説します。バグを素早く解決する、運用中のマクロを都度メンテナンスする、コードを継ぎ足して機能を足すテクニックなど、現場で必要なノウハウがわかります。


注文ページへ


前のページへ 1|2       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。