【VBAマクロ】データ型の種類・型宣言文字

VBA(マクロ)のデータ型の種類・型宣言文字についてまとめました。

データ型の種類・型宣言文字

VBAでは、以下のデータ型があります。

型名 種類(byte数) 型宣言文字 値の範囲
Integer 整数型(2) % -32,768~32,767
Long 長整数型(4) & -2,147,483,648~2,147,483,647
Single 単精度浮動小数点数型(4) ! -3.402823E38~-1.401298E-45(負の数)
1.401298E-45~3.402823E38(正の数)
Double 倍精度浮動小数点数型(8) # -1.7976931348623E308~-4.94065645841247E-324(負の数)
4.94065645841247E-324~1.79769313486232E308(正の数)
Object オブジェクト型(4) オブジェクトの参照アドレス
String 文字列型(10+文字列の長さ) $ 0~2GB
Byte バイト型(1) 0~255
Boolean ブール型(2) True(真) or False(偽)
Variant バリアント型(16) 倍精度浮動小数点数型と同じ
Variant バリアント型(22+文字列の長さ) 文字列型(可変長)と同じ
Date 日付型(8) 西暦100年1月1日~西暦9999年12月31日
Currency 通貨型(8) @ -922,337,203,685,477.5808~922,337,203,685,477.5807

動画解説

本ページの内容は以下動画でも解説しています。

型宣言文字

型宣言文字は、データ型を示す文字です。
「変数」「定数」「関数名」の後ろに付けることで型宣言を省略できます。
ただし、バグの元になりやすいのであまり利用しません。

' 整数型(Integer)の変数xを宣言します。
Dim x%

型宣言

通常は、以下のように変数の型宣言を行います。

Dim 変数名 As 型名

利用例

Sub test()
    ' 変数xをLong型で宣言
    Dim x As Long

    ' 10÷4の結果をxに代入
    x = 10 / 4

    ' xの値をメッセージボックスに表示(2と表示される)
    MsgBox x
End Sub

長整数型(Long)型は整数しか格納できないため、10÷4は2.5ですが、xには整数部分の2のみ格納されてしまいます。
小数点以下の数値を扱う場合は、次のようにSingleかDoubleを使う必要があります。

Sub test()
    ' 変数xをSingle型で宣言
    Dim x As Single

    ' 10÷4の結果をxに代入
    x = 10 / 4

    ' xの値をメッセージボックスに表示(2.5と表示される)
    MsgBox x
End Sub

関連ページ

【VBA入門】基礎から作業自動化の応用例まで解説
VBA(マクロ)で様々な処理を自動化する方法をサンプルコード付きで入門者向けにまとめました。

コメント