皆さんこんにちはALEXです。今回はデータと、変数の方の宣言についてご説明します
値を扱う場合にデータ型と言うものがあります。数値と文字列が代表的なものです。数字の「0」などは、数値として扱う場合も、文字列として扱う場合もありますね。
データ型
VBAで取り扱うデータ型は以下のものが挙げられます
データ型 |
表記 |
範囲 |
文字列型 |
String |
文字列 |
整数型 |
Integer |
-32,768~32,767の整数 |
長整数型 |
Long |
-2,147,483,648~2,147,483,647の整数 |
単精度浮動小数点型 |
Single |
-3.402823E38~-1.401298E-45 |
倍精度浮動小数点型 |
Double |
-1.79769313486231E308~-4.94065645841247E-324 |
通貨型 |
Currency |
-922,337,203,685,477.5808~922,337,203,685,477.5807 |
日付型 |
Date |
西暦100年1月1日~西暦9999年12月31日 |
ブール型 |
Boolean |
True または False |
バイト型 |
Byte |
0~255の正の整数 |
オブジェクト型 |
Object |
オブジェクト参照するデータ型 |
バリアント型 |
String |
あらゆる種類の値を保存できる型 |
ユーザー定義型 |
String |
ユーザー定義の型 |
データ型には色々な種類がありますが、文字列、数値、日付、ブール、オブジェクト、の5種類が代表的です。また、数値は整数の他に浮動小数点型、倍精度浮動小数点があります。通貨型は大きい数値を精度よくなく計算するために使います。
変数の宣言と型の指定
変数は宣言して型を指定することができます。以下の構文を用います。
Dim 変数名 as データ型
変数名の後に「as」を付け、その後にデータ型を指定します。例えば次のようになります。
例えば次のようになります。
1 2 3 4 5 |
Dim a as String Dim b as Integer Dim c as Integer, d as Object |
変数に指定した型と異なるデータ型の値を格納しようとするとエラーとなります。
1 2 3 4 5 6 7 8 |
Sub プロシージャ名() Dim x As Integer x = "Hello." End Sub |
上記のマクロを実行しようとすると次のようなエラーが表示されます。
数にデータ型を指定することと、プログラマの意図しない使い方をユーザーがしないようする事が出来ます。変数には型を指定するようにしましょう。
型を指定していない場合は、どのような型の値でも格納する事が出来ます。この場合、値が格納された時にその格納された値の型が変数の型となります。
変数に型を指定していないと、想定と違った値を格納してしまうようなミスが起こりやすくなります。例えば文字を格納する予定の変数を宣言したのに、間違えて数値を格納しても、値を格納した時点ではエラーにならないからです。
まとめ
変数の宣言と型の指定についてご説明しました。