本記事の内容
ExcelでVBAマクロをコーディングする上で必須となる変数の定義の方法をご紹介【データ型についても解説】
こんな方におすすめ
- ExcelでVBAマクロを作成してみたい方
- VBAプログラミング初心者の方
変数を定義する
VBAでは変数の定義の際には下記のように記載します。
Dim 変数名 As データ型
↓↓ Integer(整数型)のnumを定義する場合 ↓↓
Dim num As Integer
<ソースコード例>
Sub sample()
'整数型(Integer)の変数numを定義
Dim num As Integer
End Sub
変数に値を代入する
変数に代入する際は下記のように記載します。
オブジェクト型(Range, 構造体など)の場合は”Set”を前につける必要がある点に注意です。
<通常の型を代入する場合>
変数名 = 代入値
<オブジェクト型を代入する場合>
Set 変数名 = 代入値
<ソースコード例>
Sub sample()
'マクロを実行するとA1セルとA3セルに10が入力される
'整数型(Integer)の変数num1を定義
Dim num1 As Integer
'整数型(Integer)の変数num2を定義
Dim num2 As Integer
'オブジェクト型(Range)の変数myRangeを定義
Dim myRange As Range
'num1に"5"を代入
num1 = 5
'num2にnum1("5") + "5" = "10"を代入
num2 = num1 + 5
'A1セルの値にnum2("10")を代入
Range("A1").Value = num2
'myRangeにA1セルのオブジェクトを代入 ※Setが必要
Set myRange = Range("A1")
'A3セルにmyRange(A1セルのオブジェクト)を代入
Range("A3") = myRange
End Sub
<ソースコード例のマクロ実行後>

変数の型一覧
基本的な変数の型の一覧は下記の通りです。
データ型 | 定義名 | 使用メモリ | 値の範囲 |
バイト型 | Byte | 1byte | 0~255までの整数値 |
ブール型 | Boolean | 2byte | True / False |
整数型 | Integer | 2byte | -32,768~32,767までの整数値 |
長整数型 | Long | 4byte | -2,147,483,648~2,147,483,647までの整数値 |
単精度浮動小数点型 | Single | 4byte | 小数点を含む数値 |
倍精度浮動小数点型 | Double | 8byte | Singleよりも大きな桁の小数点を含む数値 |
通貨型 | Currency | 8byte | 15桁の整数部分と4桁の小数部分の数値 |
日付型 | Date | 8byte | 日付と時刻:西暦100年1月1日~西暦9999年12月31日 |
オブジェクト型 | Object | 4byte | オブジェクトを参照するデータ型 |
文字列型 | String | 10byte+文字列の長さ | 文字列:0~2GB |
バリアント型 | Variant | 数値:16byte, 文字:22byte+文字列の長さ | あらゆる種類の値 |
ユーザー定義型 | 定義名に依存 | 要素に依存 | 要素に依存 |
良く使うのは、下記の辺りです。
長整数型:Long -> [整数使用時]
倍精度浮動小数点型:Double -> [小数使用時]
文字列型:String -> [文字列使用時]
ブール型:Boolean -> [2値(IF分の条件など)使用時]
日付型:Date -> [日付使用時]
すべて覚える必要はありませんので、よく使うものだけ覚えておきましょう。
以上が変数の定義、代入の方法とデータ型の解説となります。
ここまでご覧いただきありがとうございました。
初心者におすすめの書籍はこちら
VBAに詳しくなりたい方におすすめの書籍はこちら