データ型とは、プログラムにて扱うデータの種類のことをいいます。変数に対してデータ型を宣言することで格納するデータを制限することができます。データ型を変数に対して指定しない場合、自動的にバリアント型(Variant型)が割り当てられます。
Dim 変数名 As データ型
条件式で値を比較する場合には以下の演算子を使用します。
データ型 | 名称 | 範囲 |
---|---|---|
Byte | バイト型 | 0 ~ 255 |
Integer | 整数型 | -32,768 ~ 32,767 |
Long | 長整数型 | -2,147,483,648 ~ 2,147,483,647 |
Single | 単精度浮動小数点型 | -3.402823E38 ~ -1.401298E-45(負の値) |
1.401298E-45 ~ 3.402823E38(正の値) | ||
Double | 倍精度浮動小数点型 | -1.79769313486232E308 ~ -4.94065645841247E-324(負の値) |
4.94065645841247E-324~1.79769313486232E308(正の値) | ||
Currency | 通貨型 | -922,337,203,685,477.5808 ~ 922,337,203,685,477.5807 |
Char | 文字列型 | 最大約20億文字まで |
Date | 日付型 | 西暦100 年1月1日~西暦9999年12月31日までの日付と時刻 |
Object | オブジェクト型 | オブジェクトを参照するデータ型 |
Variant | バリアント型 | 可変長の文字列型の範囲と同じ。 |
Boolean | ブール型 | 真 (True) または偽 (False) |
以下の例では以下の例では変数iをIntgerとして宣言して10を代入して、変数を10で乗算して変数に再代入しています。
Sub Sample()
Dim i As Integer
i = 10
i = i * 10
Msgbox i
End Sub
以下の例では以下の例では変数iをIntgerとして宣言して5555555を代入しようとしていますが、Integer型の代入できる値の範囲は-32768~32767なのでオーバフローでエラーとなります。
Sub Sample()
Dim i As Integer
i = 5555555 '→オーバフローでエラーとなる
i = i * 10
MsgBox i
End Sub