変数の宣言とデータ型
変数は、マクロ内で自由に作成できますが、必ず宣言してから使うようにしましょう。変数を宣言するとき、『データ型』の指定を省略すると、その変数はすべてのデータを格納できるバリアント型の変数になります。変数の宣言時にデータ型を指定しておくと、各変数に設定する値の種類を制限できます。さらに、宣言していない変数を使えないように設定しておけば、プログラムミスも少なくなります。
データ型
データ型は値の種類を特定するものです。主なデータ型は、以下の通りです。
データ型 | 格納できるデータ |
---|---|
ブール型(Boolean) | True または False |
バイト型(Byte) | 0〜255までの整数 |
整数型(Integer) | -32,768〜32,767の整数 |
長整数型(Long) | -2,147,483,648〜2,147,483,647の整数 |
通貨型(Currency) | -922,337,203,685,477.5808 〜922,337,203,685,477.5807の固定小数点数 |
単精度浮動小数点数型(Single) | 負の値:約-3.4×10(38乗)〜-1.4×10(-45乗)
正の値:約1.4×10(-45乗)〜1.8×10(38乗) |
倍精度浮動小数点数型(Double) | 負の値:約-1.8×10(308乗)〜-4.0×10(-324乗)
正の値:約4.9×10(-324乗)〜1.8×10(308乗) |
日付型(Date) | 日付:西暦100年1月1日〜西暦9999年12月31日 時刻:0:00:00〜23:59:59 |
文字列型(String) | 任意の長さの文字列 |
オブジェクト型(Object) | オブジェクト |
バリアント型(Variant) | 全てのデータ |
変数を使うときはマクロの先頭に宣言します。
また、データ型を指定して宣言すると、変数の使用範囲が限定され、誤った値の設定を防ぎます。
上図のマクロでは、変数myTotalとmyCountを「Integer(整数)型」、変数myTimeを「Date(日付)型」で宣言しています。宣言により、変数myTotalとmyCountに文字列や小数が設定されることを防いでいます。
また、複数の変数を1行でまとめて宣言することもできます。ただし、下図のように「Dim 変数A,変数B As Integer」と宣言すると、変数AもBもInteger型のように見えますが、実際は変数Aのデータ型は定義されていないことになり、自動的にVariant型の変数になってしまいます。
Option Explicitの宣言
モジュールの先頭に「Option Explicit」と記述すれば、変数を宣言せずに使用するとエラーが表示されますので、変数の綴りミスから起きるプログラムエラーを防げます。
モジュール挿入時に手動で入力しても構いませんが、自動で表示されるよう設定しておくこともできます。
- [ツール]メニューから[オプション]を選択し、[オプション]ダイアログボックスを表示する。
▼図05-03 [オプション]ダイアログボックスを表示
- [編集]タブ内の[変数の宣言を強制する]チェックボックスをオンにする。
- [OK]ボタンをクリックする。
▼図05-04 [オプション]ダイアログボックス
これ以降追加したモジュールには、自動的に「Option Explicit」の記述が追加されます。