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
かめぞう
はじめまして。 かめぞうです。組込ソフトウェア開発会社に勤務する現役エンジニアをしています。私が買ってよかったもの、人生設計、サラリーマン生活についてなど、テーマを絞らず発信しています。リクエストや改善要望など、お気軽にご連絡ください。