変数とデータ型の概要
変数とは、プログラムの中で使用する値を格納する「入れ物」のようなものです。
変数は、通常はプロシージャの最初に、データ型と共に宣言をして、その後変数に値をセットします。
この「変数に値をセット」することを、「変数への値の代入」、「変数に値を代入する」と言います。
変数を宣言したプロシージャ内であれば、変数はどこでも、何回でも使用できます。
なお、変数名はプロシージャ内でユニークである必要があります。
変数とデータ型の詳細
以下に変数を宣言後、変数に値を代入するプロシージャの例を示します。
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冊の本が出版されるくらい奥が深いのですが、私の考える変数名のネーミングルールについて、別途解説いたします。
データ型についての解説
プログラミング初心者の方にとって、データ型が何かというのを正確に理解するのは、意外に難しいと思います。
また、解説する側にとっても、これを噛み砕いて解説するのは、至難の業です。
どこまで分かりやすく解説できるか分かりませんが、最大限努力してみたいと思います。
変数の宣言後に、変数に値を代入していますが、値の代入は以下のように記述します。
- 変数名 = 値(変数名が数値の型の場合)
- 変数名 = “値“(変数名が文字列の型の場合)