トップ > 資格を活かすには > やってみよう!Excel VBAで業務改善! > 森川くんのVBA日記編: 第10話「変数を宣言する」3/4 :宣言しなくても変数を使える?

やってみよう!Excel VBAで業務改善! 森川くんのVBA日記編|第10話 「変数を宣言する」

宣言しなくても変数を使える?


VBAの学習者にとって、変数がひとつの壁になっているのは、そうした型の特定が原因です。そのため

  型を指定するのが難しい
       ↓
  変数の宣言が分からない
       ↓
  宣言しないで変数を使う

という発想から、変数を宣言しないで使用するケースをよく見かけます。しかし、難解なのは“型の指定”であって、宣言そのものは難しくありません。型の指定が分からないからという理由で、変数を宣言しないで使用するのは乱暴です。なぜなら、宣言しないで変数を使っていると、変数名のタイプミスによって重大なバグを生むからです。さらに、そうしたタイプミスを発見することは、他の不具合を見つけるよりも、はるかに難しいデバッグ作業です。

                                         < ベーシック公式テキスト P57 >

「この部分…。
何より驚いたのが、VBAは"変数を宣言しなくても使える"ということっス。
共同作業で開発をすすめるうえで、これはマズいんじゃないですか?」

「いいところに着目したわね。
業務で開発をするときは、変数の宣言について、キチンとルールを決める必要があるわ」

岬さんはパソコンに、カタカタと文章を入力していきます。



変数を宣言しない → 業務マクロの開発水準を満たさないので、ダメ

型を指定しない  → 個人が一時的に使うマクロなら、まあオッケー

型を指定する   → 高度なマクロ開発では、必須
           共同で開発を行うときは、使用する型の種類もルール化する


「こんな感じかな?
変数の宣言をしないのは、ありえないとして、
一時的に使う簡易マクロなら、型の指定を省略するのも
…まあ許容範囲ね。
……チームで開発を行うときは、型の指定はもちろん、
指定する型の種類まで、事前にルール化しておく必要があるわ。
例えば私たち業務改善部隊では、Integer型は使いません。
整数を扱うときは、すべてLong型を指定するの」

「なるほど…。
チームで開発するときは、型の種類も統一する必要があるんですね。
……じゃあ、小数点型はSingle型じゃなくて、すべてDouble型ですか?」

一覧にもどる