要点まとめ
1. VBAで利用できるデータ型の種類
VBAでは変数に扱う値(文字列・数値・日付など)に応じて、以下のようなデータ型が用意されている。
| データ型 | VBAでの表記 | 値の範囲 / 特長 |
|---|---|---|
| String | 文字列型 | 文字列を扱う |
| Boolean | ブール型 | True または False |
| Byte | バイト型 | 0〜255 の正の整数 |
| Integer | 整数型 | –32,768 ~ 32,767 の整数 |
| Long | 長整数型 | –2,147,483,648 ~ 2,147,483,647 の整数 |
| Single | 単精度浮動小数点型 | 小数を含む数値(単精度) |
| Double | 倍精度浮動小数点型 | 小数を含む数値(倍精度) |
| Currency | 通貨型 | 固定小数点的な金額データなどに適する |
| Date | 日付型 | 日付/時刻データ(100年~9999年まで) |
| Object | オブジェクト型 | オブジェクト参照を格納するための型 |
| Variant | バリアント型 | あらゆる型の値を格納可能(デフォルト的な役割) |
| ユーザー定義型 | (ユーザー定義) | 複数の異なるフィールドを持つ独自の型を定義可能 |
→ 特に Variant型 は、型を指定しない宣言をした場合のデフォルト型として扱われ、どんな種類の値でも格納できる型である。
2. データ型ごとの値(リテラル)の記述方法
それぞれのデータ型をリテラル(直接コード中に書く値)として記述する際の注意点が説明されている。
- 数値
整数・小数ともにそのまま記述(例:10,3.14)
Double 型の値は内部的に#(シャープ)が付いた形式に変換されることがある - 文字列
ダブルクォーテーション (") で囲む(例:"Hello") - 日付/時刻
2 通りの記述方法あり:
1. ダブルクォーテーションで囲む文字列形式(例:"2022/9/24")
2. シャープ#で囲む形式(例:#3/14/2021#)
ただし、#形式を用いる場合は月/日/年の形で記述することが一般的で、コードウィンドウでは自動変換されることもある。 - ブール型
TrueまたはFalseを記述
3. 変数宣言時にデータ型を指定する/省略した場合
変数を使う際には、変数宣言時にその変数がどのデータ型を持つかを明示できる。
- 型を指定して宣言する方法
Dim 変数名 As データ型
VB例:
Dim old As Integer
Dim name As String
old = 20
name = "山田太郎"
VBこのように宣言すると、指定した型以外の値を代入しようとすると “型が一致しません” の実行時エラーとなる可能性がある。
- 型を省略した宣言
Dim 変数名
VBのように型指定をしないと、暗黙的に Variant 型として扱われる。Variant 型はあらゆる種類の値(数値、文字列、オブジェクト、日付など)を保持できるため柔軟だが、型安全性やパフォーマンス面でデメリットになることもある。

