#4_2 変数のデータ型
データ型の種類
変数には必ずデータ型があります。Dimステートメントによる変数宣言のAs以降の部分になります。データ型の宣言により、プログラミングミスを回避できます。
主なデータ型の種類は以下のものがあります。
データ型 | 値の定義と範囲 |
---|---|
整数型(Integer) | -32,768~32,767の整数値を格納。 |
長整数型(Long) | Integerよりも桁が大きな整数値を格納。 -2,147,483,648~2,147,483,647 |
通貨型(Currency) | Longよりも桁が大きな小数点を含む数値を格納。 -922,337,203,685,477,5808~922,337,203,685,477,5808 |
単精度浮動小数点数型(Single) | 小数点を含む数値を格納。 |
倍精度浮動小数点数型(Double) | Singleよりも桁の大きな数値を格納。 |
バイト型(Byte) | 日付と時刻を格納。 |
ブール型(Boolean) | TrueまたはFalseを格納。条件判定等に活用。 |
文字列型(String) | 文字列を格納。 |
日付型(Date) | 日付と時刻を格納。 |
オブジェクト型(Object) | ブックやシートなど、オブジェクトへの参照を格納。 |
バリアント型(Variant) | あらゆる種類の値を格納。 |
整数などの数値を値として格納するものに関しては感覚的に理解できると思うので、以下では文字列型(String)、バリアント型(Variant)、オブジェクト型(Object)について解説します。
文字列型(String)
文字列型変数には文字列を格納できます。シートやブック等の名前、また個人の名前や住所等のデータは当然この文字列型に格納します。
文字列型変数には数値も格納できますが、あくまでも電話番号や郵便番号のように「文字列としての数値」です。断じて算術演算様の数値ではないです。
バリアント型(Variant)
バリアント型は整数や文字列などのあらゆるデータ型を格納できます。一見便利なようですが、マクロを読む上でどの型のデータを格納するための変数かがわからない上に、無駄に多くのメモリを消費することになるためバリアント型はできる限り使わないようにしましょう。
重要なポイントとして、変数を宣言するときにデータ型を省略すると、その変数はバリアント型になります。覚えておきましょう。
オブジェクト型(Object)
オブジェクト型の宣言と値の格納方法は他のデータ型と違ってちょっと複雑です。まずオブジェクト型の中にはさらに「Workbook」「Worksheet」「Range」があります。
また、オブジェクト変数にオブジェクトを格納する際には、Setステートメントを使う必要があります。百聞は一見にしかずなので、以下のプログラムを見てください。
オブジェクトを格納する際のSetステートメントはついつい忘れがちなので、気をつけて下さい。