データ型とは、プログラムで扱うデータの種類のことを指します。

変数に対してデータ型を宣言することで、格納できるデータの種類が決まります。

制限させるといった方が良いかもしれません。

データ型を変数に指定しない場合、VBAの場合は、バリアント型(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をInteger型として宣言し、10の値を代入して、さらにその変数に10を乗算した値を再代入して、その結果をメッセージボックス表示させています。


Sub Sample()

    Dim i As Integer

    i = 10
      
    i = i * 10

    Msgbox i

End Sub
			

下記の例文では、変数iをInteger型として宣言し、値5555555を代入しようとしています。しかし、Integer型が代入できる値の範囲は、-32768~32767のため、オーバーフローエラーが発生します。


Sub Sample()

    Dim i As Integer

    i = 5555555		'→オーバフローでエラーとなる
      
    i = i * 10

    MsgBox i

End Sub