Excel VBA

【Excel VBA入門】変数の定義方法【データ型についても解説】

本記事の内容

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

 

<ソースコード例のマクロ実行後>

<ソースコード例のマクロ実行後>

 

変数の型一覧

基本的な変数の型の一覧は下記の通りです。

データ型定義名使用メモリ値の範囲
バイト型Byte1byte0~255までの整数値
ブール型Boolean2byteTrue / False
整数型Integer2byte-32,768~32,767までの整数値
長整数型Long4byte-2,147,483,648~2,147,483,647までの整数値
単精度浮動小数点型Single4byte小数点を含む数値
倍精度浮動小数点型Double8byteSingleよりも大きな桁の小数点を含む数値
通貨型Currency8byte15桁の整数部分と4桁の小数部分の数値
日付型Date8byte日付と時刻:西暦100年1月1日~西暦9999年12月31日
オブジェクト型Object4byteオブジェクトを参照するデータ型
文字列型String10byte+文字列の長さ文字列:0~2GB
バリアント型Variant数値:16byte, 文字:22byte+文字列の長さあらゆる種類の値
ユーザー定義型定義名に依存要素に依存要素に依存

良く使うのは、下記の辺りです。

長整数型:Long -> [整数使用時]

倍精度浮動小数点型:Double -> [小数使用時]

文字列型:String -> [文字列使用時]

ブール型:Boolean -> [2値(IF分の条件など)使用時]

日付型:Date -> [日付使用時]

 

すべて覚える必要はありませんので、よく使うものだけ覚えておきましょう。

 

以上が変数の定義、代入の方法とデータ型の解説となります。

ここまでご覧いただきありがとうございました。

 

初心者におすすめの書籍はこちら

 

VBAに詳しくなりたい方におすすめの書籍はこちら

 

 

ABOUT ME
かめぞう
はじめまして。 かめぞうです。ソフトウェア開発会社に勤務する現役エンジニアです。私がエンジニアを続ける中で得た学び、考えを発信しています。リクエストや改善要望など、お気づきの点があればお気軽にご連絡ください。