Excel VBA | VBAのデータ型と変数のデータ型の指定

Excel VBA VBA
スポンサーリンク

では、「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
VB

4. 省略した場合は「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
VB

7. 練習用マクロファイルを作る手順

  1. Excelを開く
  2. Alt + F11 → VBAエディタを開く
  3. 「挿入」→「標準モジュール」を選ぶ
  4. 上記のサンプルコードを貼り付ける
  5. F5 キーで実行!

💡「MsgBox」で表示された内容が、
型の違いによって正しく動くことを確認してみましょう。


まとめ

覚えておくポイント内容
型を指定しないと自動的に Variant 型になる柔軟だが遅い・危険
As 型名 で型指定すると安全エラーを早期発見できる
String / Integer / Double / Date / Boolean は特によく使うVBA基礎の中心
型を間違えると Type mismatch エラーデバッグ時の注意点

VBA
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました