VBAテクニック集 VBA一覧 変数・知識 文法・構文

【VBA】変数の型一覧(日本語解説)|用途別の使い分けと実務での注意点

ExcelVBAでコードを書いていると、必ず直面するのが 「どの変数の型を使えばいいのか分からない」 という問題です。
VBAには多くの変数型が用意されていますが、実務で本当に使われる型は限られています。

一方で、

  • なんとなく Variant を使っている
  • Integer と Long の違いが曖昧
  • Boolean や Date を正しく使えていない
  • 配列やオブジェクト型がよく分からない

といった状態のままでは、
エラーが起きやすく、保守しづらいコードになってしまいます。

本記事では、「VBA 変数 型 一覧 日本語」という検索意図に合わせて、
VBAで使用できる変数型を 日本語で分かりやすく一覧化し、
それぞれの用途・特徴・実務での使い分けまで丁寧に解説します。

✅ VBAにおける「変数の型」とは何か

・変数の型を指定する意味

VBAにおける変数の型とは、
「その変数に何を入れるのか」をExcelに伝えるための情報です。

型を指定することで、

  • 処理速度が安定する
  • 計算ミスや変換エラーを防げる
  • コードの意図が明確になる

といったメリットがあります。

そのため、実務では 必ず型を指定する のが基本です。


✅ VBAで使える変数型の全体一覧(日本語)

VBAで使用できる主な変数型を、用途別に整理すると次のようになります。

  • 数値を扱う型
  • 文字列を扱う型
  • 日付・時刻を扱う型
  • 真偽値を扱う型
  • オブジェクトを扱う型
  • 汎用型(Variant)
  • 配列・特殊用途の型

以下で、それぞれを詳しく見ていきます。


✅ 数値を扱う変数型の一覧と使い分け

・Byte(バイト型)

Dim num As Byte
  • 0 ~ 255 の整数を扱える型
  • 使用頻度は低い
  • 実務ではほぼ使われない

・Integer(整数型)

Dim i As Integer
  • -32,768 ~ 32,767 の整数
  • 昔はよく使われていた
  • 現在の実務では 非推奨

理由:範囲が狭く、オーバーフローの危険があるため


・Long(長整数型)

Dim cnt As Long
  • -2,147,483,648 ~ 2,147,483,647
  • 最も使用頻度が高い数値型
  • 行番号・件数・ループ変数に最適

👉 迷ったら Long を使うのが実務の基本です。


・Single / Double(小数型)

Dim rate As Double
  • 小数点を含む数値を扱う
  • Single より Double の方が精度が高い
  • 実務では Double が主流

・Currency(通貨型)

Dim price As Currency
  • 金額計算専用の型
  • 丸め誤差が起きにくい
  • 会計・金額処理では有効

✅ 文字列を扱う変数型

・String(文字列型)

Dim name As String
  • 文字・文章・セルの文字列を扱う
  • 使用頻度は非常に高い
  • メッセージ・ファイル名・シート名などに使用

👉 文字を扱うなら String 一択

参考:【VBA】変数の宣言はなぜ必要?書かないと何が起こるのかを徹底解説




✅ 日付・時刻を扱う変数型

・Date(日付型)

Dim dt As Date
  • 日付・時刻を同時に扱える
  • 内部的には数値として管理
  • 比較・加算・減算が可能

実務では、
「文字列としての日付」ではなく
Date型として扱うことが重要です。


✅ 真偽値(条件判定)を扱う型

・Boolean(真偽型)

Dim flg As Boolean

✅ オブジェクトを扱う変数型

・Object(汎用オブジェクト型)

Dim ws As Object
  • さまざまなオブジェクトを代入可能
  • 型が曖昧になる
  • 実務では極力避けたい

・Workbook / Worksheet / Range など

Dim wb As Workbook
Dim ws As Worksheet
Dim rng As Range
  • Excelオブジェクト専用の型
  • 必ず明示的に指定するのが実務ルール

✅ Variant(バリアント型)とは何か

・Variantの特徴

Dim v As Variant
  • どんな型でも入れられる
  • As を省略すると自動的に Variant になる
  • 処理が遅く、バグの温床になりやすい

・Variantを使うべき場面

  • 型が実行時まで確定しない
  • 配列の戻り値を受け取る
  • 特殊なデータ処理

👉 安易に使うのはNG


✅ 配列を扱う変数型

・固定長配列

Dim arr(1 To 10) As Long

・動的配列

Dim arr() As String
ReDim arr(1 To 5)

✅ ユーザー定義型(Type)

・Typeを使った構造体

Type UserData
    ID As Long
    Name As String
End Type
  • 複数のデータを1つの単位として管理
  • 大規模処理で有効
  • 使用頻度は中〜低

✅ 型指定を間違えたときに起こる問題

・暗黙の型変換

Dim x As Long
x = "100"

一見動きますが、
実務では 意図しない変換によるバグ の原因になります。


✅ 実務でよく使われる変数型ランキング

  1. Long
  2. String
  3. Boolean
  4. Date
  5. Double
  6. Range / Worksheet

👉 この6種類を正しく使えれば、実務の8割は対応できます。


✅ 変数型とOption Explicitの関係

Option Explicit
  • すべての変数宣言を強制
  • 型ミス・スペルミスを防止
  • 実務では 必須設定

✅ 型選びで迷ったときの判断基準

  • 数値 → Long
  • 小数 → Double
  • 文字 → String
  • 条件 → Boolean
  • 日付 → Date
  • Excel操作 → 専用オブジェクト型

✅ VBAの変数型を理解すると得られるメリット

  • エラーが激減する
  • 処理速度が向上する
  • コードの意図が明確になる
  • 他人が読んでも理解しやすくなる

✅ まとめ:VBA変数型を正しく使うことが品質を決める

  • VBAには多くの変数型があるが、実務で使う型は限られる
  • Variantの乱用は避ける
  • Long / String / Boolean / Date を中心に使う
  • 型指定はコード品質と保守性に直結する
  • Option Explicit は必須

変数型の理解は、
VBAの基礎でありながら、最も差が出るポイントです。

この記事を参考に、
「なんとなく動くVBA」から
「安心して使えるVBA」へステップアップしてください。

    -VBAテクニック集, VBA一覧, 変数・知識, 文法・構文