では、「VBAのデータ型」を初心者向けに、平易な言葉+実例付きで整理します。
J「実際に使うとどうなるか」が分かるように説明します。
1. データ型って何?
データ型(Data Type) は、
「その変数がどんな種類の値を入れられるか」を決めるルールです。
たとえば:
| 変数の名前 | 値の内容 | データ型 |
|---|---|---|
| 名前 | “山田太郎” | 文字(String) |
| 年齢 | 25 | 整数(Integer) |
| 身長 | 170.5 | 小数(Double) |
| 登録日 | 2025/10/17 | 日付(Date) |
| 有効か? | True | 真偽値(Boolean) |
2. 主なデータ型と使いどころ
| データ型 | 内容 | 例 | よく使う場面 |
|---|---|---|---|
| String | 文字列 | "Hello" | 名前・住所など |
| Integer | 整数(±32,000程度) | 10 | 数量や年齢 |
| Long | 大きい整数 | 2000000 | 売上金額やID番号など |
| Single | 小数(単精度) | 3.14 | 簡単な計算 |
| Double | 小数(倍精度) | 12345.6789 | より正確な計算 |
| Currency | 金額用 | 100.25 | 金額の計算に強い |
| Date | 日付や時刻 | #2025/10/17# | 日付比較など |
| Boolean | 真(True)/偽(False) | True | 条件分岐に使用 |
| Variant | 何でも入る「万能箱」 | "ABC", 10 | 型を決めない場合 |
| Object | オブジェクト参照 | Range("A1") | Excelのセルなど |
3. 宣言の書き方
VBAでは、変数を使う前に「どんな型の変数か」を宣言します。
'【基本形】
Dim 変数名 As データ型
VB例:
Dim name As String
Dim age As Integer
Dim price As Currency
Dim today As Date
VB4. 省略した場合は「Variant」になる
型を省略すると、自動的に Variant型 になります。
Dim value
value = 10
value = "文字もOK"
value = #2010/11/11#
VB💬 つまり、「なんでも入る」けど「型の安全性がない」!
Variantは便利ですが、
・プログラムが遅くなる
・型ミスが気づきにくい(バグの原因)
という欠点があります。
5. 型を間違えるとエラーになる例
Dim age As Integer
age = "三十"
VB▶ 実行すると
型が一致しません(Type mismatch)
というエラーになります。
6. 型を正しく使った例
Sub Sample()
Dim name As String
Dim age As Integer
Dim height As Double
Dim joined As Date
Dim active As Boolean
name = "山田太郎"
age = 25
height = 172.5
joined = #2010/4/1#
active = True
MsgBox name & "さん(" & age & "歳)" & vbCrLf & _
"身長:" & height & "cm" & vbCrLf & _
"入社日:" & joined & vbCrLf & _
"在職中:" & active
End Sub
VB📋 実行結果(メッセージボックス):
山田太郎さん(25歳)
身長:172.5cm
入社日:2010/04/01
在職中:True
VB7. 練習用マクロファイルを作る手順
- Excelを開く
- Alt + F11 → VBAエディタを開く
- 「挿入」→「標準モジュール」を選ぶ
- 上記のサンプルコードを貼り付ける
- F5 キーで実行!
💡「MsgBox」で表示された内容が、
型の違いによって正しく動くことを確認してみましょう。
まとめ
| 覚えておくポイント | 内容 |
|---|---|
| 型を指定しないと自動的に Variant 型になる | 柔軟だが遅い・危険 |
| As 型名 で型指定すると安全 | エラーを早期発見できる |
| String / Integer / Double / Date / Boolean は特によく使う | VBA基礎の中心 |
| 型を間違えると Type mismatch エラー | デバッグ時の注意点 |

