カテゴリ: Excel VBA 更新日: 2026/02/06

VBAの変数の型一覧まとめ!Integer/Long/Stringなどよく使う型を徹底解説

変数の型一覧まとめ!Integer/Long/Stringなどよく使う型の特徴をわかりやすく解説
変数の型一覧まとめ!Integer/Long/Stringなどよく使う型の特徴をわかりやすく解説

先生と生徒の会話形式で理解しよう

生徒

「変数を宣言するときに使う『As Integer』とか『As String』って何のことですか?」

先生

「それは『データ型』といって、箱(変数)に入れる中身の種類を指定しているんですよ。」

生徒

「種類を決めないといけないんですか?全部同じ箱じゃダメなんですか?」

先生

「実は種類を決めることで、パソコンのメモリを節約したり、計算ミスを防いだりできるんです。基本的な型を一緒に覚えていきましょう!」

1. 変数の「型」とは?データの種類を決めるルール

1. 変数の「型」とは?データの種類を決めるルール
1. 変数の「型」とは?データの種類を決めるルール

Excel VBA(エクセル・ブイビーエー)でプログラミングをする際、避けて通れないのが「変数の型(かた)」です。変数はデータを一時的に入れておく「箱」のようなものだと説明しましたが、その箱には「何を入れるための箱か」というラベルを貼る必要があります。

例えば、冷蔵庫の中に「飲み物を入れる場所」「野菜を入れる場所」が決まっているように、プログラムでも「数字を入れるための箱」「文字を入れるための箱」を使い分けます。この分類のことをデータ型と呼びます。

適切な型を選ぶことで、Excel(エクセル)がスムーズに動作し、予期せぬエラー(バグ)を減らすことができるようになります。パソコンを初めて触る方でも、まずは「数字用」と「文字用」があるんだな、くらいの気持ちで読み進めてみてください。

2. 整数を扱う型:Integer(インテジャー)とLong(ロング)

2. 整数を扱う型:Integer(インテジャー)とLong(ロング)
2. 整数を扱う型:Integer(インテジャー)とLong(ロング)

一番よく使うのが、小数点のない「整数」を入れる型です。VBAには主に2種類の整数の型があります。

  • Integer(インテジャー): 小さな整数用。約 -3万 〜 3万 までの数字が入ります。
  • Long(ロング): 大きな整数用。約 -21億 〜 21億 までの数字が入ります。

「どっちを使えばいいの?」と迷うかもしれませんが、最近のパソコンは性能が良いので、基本的にはすべて Long を使うのがおすすめです。エクセルの行数は最大で100万行以上あるため、行番号を数えるときに Integer を使うと、数字が溢れてエラー(オーバーフロー)になってしまうからです。


Sub IntegerAndLong()
    ' 小さな数字ならIntegerでも大丈夫
    Dim appleCount As Integer
    appleCount = 10
    
    ' 大きな数字や行番号は必ずLongを使おう
    Dim rowCount As Long
    rowCount = 1000000
    
    MsgBox "リンゴは" & appleCount & "個、行数は" & rowCount & "です。"
End Sub

3. 文字を扱う型:String(ストリング)

3. 文字を扱う型:String(ストリング)
3. 文字を扱う型:String(ストリング)

名前、住所、商品の説明など、「文字」を扱いたいときに使うのが String(ストリング) 型です。プログラミング用語で文字の集まりを「文字列(もじれつ)」と呼ぶため、この名前が付いています。

String型を使うときのルールは、中身を " "(ダブルクォーテーション) で囲むことです。これを忘れると、VBAは「文字」ではなく「別の命令」だと勘違いしてエラーを出してしまいます。


Sub StringSample()
    ' 文字を入れる箱を準備
    Dim userName As String
    
    ' 文字を入れる(必ずダブルクォーテーションで囲む)
    userName = "田中太郎"
    
    MsgBox "こんにちは、" & userName & "さん!"
End Sub

この &(アンパサンド)は、文字と文字をくっつける「のり」のような役割をする記号です。非常に便利なので一緒に覚えておきましょう。

4. 小数点を扱う型:Double(ダブル)

4. 小数点を扱う型:Double(ダブル)
4. 小数点を扱う型:Double(ダブル)

割り算の結果や、消費税の計算(0.1を掛けるなど)をしたいときは、整数用の型では対応できません。そこで登場するのが Double(ダブル) 型です。

Doubleは「倍精度浮動小数点数(ばいせいどふどうしょうすうてんすう)」という難しい名前がありますが、要するに「小数点がある細かい数字を扱える箱」だと思ってください。数学の計算や平均値を出すときによく使われます。


Sub DoubleSample()
    ' 小数点を扱う箱を準備
    Dim taxRate As Double
    Dim price As Long
    
    price = 1000
    taxRate = 0.1 ' 10%
    
    ' 小数点を含んだ計算ができる
    MsgBox "消費税は " & price * taxRate & " 円です。"
End Sub

5. 日付と時間を扱う型:Date(デイト)

5. 日付と時間を扱う型:Date(デイト)
5. 日付と時間を扱う型:Date(デイト)

「今日の日付」や「締め切り時間」を管理するための専用の箱が Date(デイト) 型です。単なる文字として扱うよりも、Date型として扱う方が「1日後の日付を出す」といった計算がしやすくなります。

Date型に値を直接入れるときは、文字の " " ではなく # #(シャープ) で囲むという少し珍しいルールがありますが、基本的にはエクセルのセルの値をそのまま入れることが多いです。


Sub DateSample()
    ' 日付を入れる箱を準備
    Dim todayDate As Date
    
    ' 今日の日付を取得
    todayDate = Date
    
    ' 1週間後の日付を計算して表示
    MsgBox "1週間後は " & todayDate + 7 & " です。"
End Sub

6. はい・いいえを判断する型:Boolean(ブーリアン)

6. はい・いいえを判断する型:Boolean(ブーリアン)
6. はい・いいえを判断する型:Boolean(ブーリアン)

「合格か不合格か」「データがあるかないか」といった、二つの状態だけを管理したいときに使うのが Boolean(ブーリアン) 型です。

この箱には True(トゥルー:真・はい) または False(フォルス:偽・いいえ) のどちらか一方しか入りません。条件分岐(If文)と一緒に使うことで、非常に強力な武器になります。


Sub BooleanSample()
    Dim isFinished As Boolean
    
    ' 作業が終わったことにする
    isFinished = True
    
    If isFinished = True Then
        MsgBox "すべての作業が完了しました!"
    End If
End Sub

7. 何でも入る魔法の型:Variant(バリアント)

7. 何でも入る魔法の型:Variant(バリアント)
7. 何でも入る魔法の型:Variant(バリアント)

「中身に何が入るか分からない!」という時に使える、究極に便利な型が Variant(バリアント) 型です。この型は、数字でも文字でも日付でも、状況に合わせて勝手に形を変えて何でも受け入れてくれます。

「じゃあ全部これにすればいいじゃない!」と思うかもしれませんが、使いすぎには注意が必要です。何でも入る代わりに、パソコンのメモリをたくさん使って動きが少し遅くなったり、間違ったデータが入ってもエラーにならないためミスを見つけにくくなったりします。基本は専用の型を使い、どうしても必要な時だけ Variant を使うのがプロの書き方です。

8. 結局、初心者はどの型を覚えればいいの?

8. 結局、初心者はどの型を覚えればいいの?
8. 結局、初心者はどの型を覚えればいいの?

たくさんの型を紹介しましたが、最初からすべてを完璧に使いこなす必要はありません。まずは以下の4つだけを確実に覚えましょう!これだけで、エクセル自動化の9割以上はカバーできます。

データ型 使いどころ
Long 整数(個数、行番号、金額など)
String 文字列(名前、住所、メッセージなど)
Double 小数点(平均、税率、比率など)
Variant 何でも(セルの値をまとめて入れる時など)

最初は Dim i As LongDim myText As String のように、型を指定して書く練習をしてみてください。型を意識して書くようになると、VBAの構造がより深く理解できるようになり、脱・初心者への道が開けますよ!

カテゴリの一覧へ
新着記事
New1
Office Scripts
Office Scriptsで日付判定!Excel条件付き書式を自動化して期限管理をラクにする方法
New2
Office Scripts
Office Scripts普及の歴史とMicrosoftの方向性!Excel自動化が進化してきた流れをやさしく解説
New3
Excel VBA
Excel VBA関数を用途別に作成!計算・文字列処理の基本を初心者向けに解説
New4
Office Scripts
Office Scriptsで条件付き書式を自動化!数値変化に応じてExcelの書式を自動更新する方法
人気記事
No.1
Java&Spring記事人気No1
Excel VBA
Excelマクロのセキュリティ設定の基本!安全に実行するための信頼センター設定まとめ
No.2
Java&Spring記事人気No2
Office Scripts
Office Scriptsでできること・できないことを完全整理!Excel自動化の基本と限界をやさしく解説
No.3
Java&Spring記事人気No3
Excel VBA
目的別にモジュールを分割する方法!処理単位で整理して見やすくするテクニック
No.4
Java&Spring記事人気No4
Excel VBA
Excel VBAとOffice Scriptsの違いを比較!初心者でもわかる学ぶべきスキル
No.5
Java&Spring記事人気No5
Excel VBA
Excel VBA基本文法の総まとめ!初心者が必ず押さえるべき20の基礎ポイント完全ガイド
No.6
Java&Spring記事人気No6
Office Scripts
Office Scriptsで条件付き書式を自動化!Excel自動化初心者向けスクリプト操作の基本
No.7
Java&Spring記事人気No7
Excel VBA
Excel VBAの開発環境を最速で整える!VBEの開き方から基本操作まで完全ガイド
No.8
Java&Spring記事人気No8
Excel VBA
Excel VBAプロジェクト構成とモジュール管理を完全解説!初心者でも迷わない基本の考え方