【VBA】 1.3 変数って何?、データ型って何?

目次

変数とデータ型の概要

変数とは、プログラムの中で使用する値を格納する「入れ物」のようなものです。

変数は、通常はプロシージャの最初に、データ型と共に宣言をして、その後変数に値をセットします。
この「変数に値をセット」することを、「変数への値の代入」、「変数に値を代入すると言います。

変数を宣言したプロシージャ内であれば、変数はどこでも、何回でも使用できます。
なお、変数名はプロシージャ内でユニークである必要があります。

変数とデータ型の詳細

以下に変数を宣言後、変数に値を代入するプロシージャの例を示します。

Sub explain_variable()

    Dim num_variable1 As Long
    Dim num_variable2 As Long
    Dim num_variable3 As Long
    Dim str_variable1 As String
    Dim str_variable2 As String
    Dim str_variable3 As String
    
    num_variable1 = 10
    num_variable2 = 20
    num_variable3 = num_variable1 + num_variable2
    MsgBox num_variable1
    MsgBox num_variable2
    MsgBox num_variable3

    num_variable1 = 100
    num_variable2 = num_variable3
    MsgBox num_variable1
    MsgBox num_variable2

    str_variable1 = "日本"
    str_variable2 = "一郎"
    str_variable3 = str_variable1 & " " & str_variable2
    MsgBox str_variable1
    MsgBox str_variable2
    MsgBox str_variable3
    
    str_variable1 = "田中"
    str_variable2 = str_variable3
    str_variable3 = ""
    MsgBox str_variable1
    MsgBox str_variable2
    MsgBox str_variable3

End Sub

上記のプログラムの3行目~8行目の「Dim」で始まるステートメントで、変数を宣言しています。
Dimによる変数の宣言は、通常は以下のように記述します。

  • Dim 変数名 As データ型名

このステートメントは、敢えて日本語に意訳すると、次のようになります。

  • この宣言を行ったプロシージャの中で、変数名データ型名に記述したデータ型で使用できるようにします。

変数についての解説

変数名については、ExcelVBAの中で決められているいくつかの制約がありますが、ざっくりと説明すると以下の通りです。

  • 変数名に使用可能な文字は以下の通り。
    • 英数字
    • 漢字
    • ひらがな
    • カタカナ
    • 「_(アンダースコア)」
  • 変数名の先頭に数字を付けることはできない。
  • 半角255文字以下で命名する。

変数名のネーミングについては、これだけで1冊の本が出版されるくらい奥が深いのですが、私の考える変数名のネーミングルールについて、別途解説いたします。

データ型についての解説

プログラミング初心者の方にとって、データ型が何かというのを正確に理解するのは、意外に難しいと思います。
また、解説する側にとっても、これを噛み砕いて解説するのは、至難の業です。
どこまで分かりやすく解説できるか分かりませんが、最大限努力してみたいと思います。

変数の宣言後に、変数に値を代入していますが、値の代入は以下のように記述します。

  • 変数名 = 値(変数名が数値の型の場合)
  • 変数名 = “値(変数名が文字列の型の場合)

この記事を書いた人

某IT企業に勤務。

2年間の休職を経て、一から独学でExcel VBAを習得し、半年でExcel VBA エキスパート資格のスタンダードに一発合格。

社内の非効率的な作業を効率化するExcelマクロの開発を、全行程まるっと一人で請け負い、これまでに約100個のExcelマクロを開発し、現在も増産中。

目次