HOME > VBA広場 > Excel VBA ビギナーズ > 第12回 VBエディタでマクロをつくろう 5/5

第12回 VBエディタでマクロをつくろう 5/5

第12回 VBエディタでマクロをつくろう| 1/5  2/5  3/5  4/5  5/5 

変数の宣言とデータ型

変数は、マクロ内で自由に作成できますが、必ず宣言してから使うようにしましょう。変数を宣言するとき、『データ型』の指定を省略すると、その変数はすべてのデータを格納できるバリアント型の変数になります。変数の宣言時にデータ型を指定しておくと、各変数に設定する値の種類を制限できます。さらに、宣言していない変数を使えないように設定しておけば、プログラムミスも少なくなります。

データ型

データ型は値の種類を特定するものです。主なデータ型は、以下の通りです。

データ型 格納できるデータ
ブール型(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) 全てのデータ

変数を使うときはマクロの先頭に宣言します。
また、データ型を指定して宣言すると、変数の使用範囲が限定され、誤った値の設定を防ぎます。

▼図05-01 変数の宣言
図05-01 変数の宣言

上図のマクロでは、変数myTotalとmyCountを「Integer(整数)型」、変数myTimeを「Date(日付)型」で宣言しています。宣言により、変数myTotalとmyCountに文字列や小数が設定されることを防いでいます。

また、複数の変数を1行でまとめて宣言することもできます。ただし、下図のように「Dim 変数A,変数B As Integer」と宣言すると、変数AもBもInteger型のように見えますが、実際は変数Aのデータ型は定義されていないことになり、自動的にVariant型の変数になってしまいます。

▼図05-02 複数の変数を1行で宣言
図05-02 複数の変数を1行で宣言

Option Explicitの宣言

モジュールの先頭に「Option Explicit」と記述すれば、変数を宣言せずに使用するとエラーが表示されますので、変数の綴りミスから起きるプログラムエラーを防げます。
モジュール挿入時に手動で入力しても構いませんが、自動で表示されるよう設定しておくこともできます。

  1. [ツール]メニューから[オプション]を選択し、[オプション]ダイアログボックスを表示する。
    ▼図05-03 [オプション]ダイアログボックスを表示
    図05-03 [オプション]ダイアログボックスを表示
  2. [編集]タブ内の[変数の宣言を強制する]チェックボックスをオンにする。
  3. [OK]ボタンをクリックする。
    ▼図05-04 [オプション]ダイアログボックス
    図05-04 [オプション]ダイアログボックス

これ以降追加したモジュールには、自動的に「Option Explicit」の記述が追加されます。

第12回 VBエディタでマクロをつくろう| 1/5  2/5  3/5  4/5  5/5