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

Excel VBA VBA
スポンサーリンク

要点まとめ

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 型はあらゆる種類の値(数値、文字列、オブジェクト、日付など)を保持できるため柔軟だが、型安全性やパフォーマンス面でデメリットになることもある。

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