はじめに
この章ではExcelVBAで扱う変数について説明をします。
データを保持することはプログラミングの基本です。Excelにはもともとデータを保持するために「セル」が用意されており、マクロから直接「セル」を操作することも可能です。しかし、この章で説明する変数や、2章で説明する配列にデータを保持することで、「マクロの記録」で作成されたマクロよりも複雑な処理を、より素早く処理することが可能となります。
1、変数とは
変数とはデータを格納できる記憶域のことで、強いてExcelに例えるならセル1つに相当するようなものです。
Sub sample_variable()
Dim i As Long
Dim name As String
i = 0
name = "あなた"
MsgBox name & "はまだ" & i & "さいです"
End Sub
'結果 : あなたはまだ0さいです
2、変数の宣言
変数は原則宣言してから利用するものです。
Dim i As Long
Dim name As String
i)変数のスコープ(可視範囲)を指定する
宣言のはじめはその変数のスコープを指定します。「Dim」は宣言された変数がそのプロシージャ(Sub~End SubやFunction~End Functionのひとかたまり)の中でのみ参照可能であることを指定しています。
ii)変数の名前を決める
「i」や「name」の部分に変数名を指定します。
☆ExcelVBA変数命名規則
・英数字(全角半角)が使用可
・漢字・ひらがな・カタカナが使用可
・記号はアンダーバー(_)のみ使用可
・空白(スペース)は使えない
・先頭に、数字・アンダーバーは使えない
・使えない予約語がある「Dim」「if」等
・長さは半角で255文字まで
上記の通り漢字等日本語名や英数字全角名での変数も作成可能ですが、読みづらくなる(保守性が下がる)ので通常は使用しないことを推奨します。
iii)定型文言「As」
上述の予約語です。特に意味はありません。
iv)型を指定する
型指定を必ずしなければならない、わけではありませんが型を指定する方が、あとから読みやすいので型はなるべく指定しましょう。
Dim i As Long
'-2,147,483,648~2,147,483,647の整数
Dim name As String
'文字列 文字数制限はほぼないと考えて差し支えない
上記はどんなマクロにもだいたい共通して使う型です。
3、変数への代入
i = 0
name = "あなた"
ExcelVBAで「=」は別の意味を持つこともありますが、ここでは″代入″を意味します。右の値を左の変数へ代入します。
4、変数の書き換え・再利用
変数はマクロ実行中に何度でも書き換え・再利用が可能です。
Sub sample_variable_reusable()
Dim j As Long
Dim p As String
j = 649
p = "れはよ"
MsgBox "か" & p & j & "といった"
p = "れは4"
MsgBox "か" & p & j & "といった"
End Sub
'結果 : かれはよ649といった
'結果 : かれは4649といった
2章:配列
https://qiita.com/daichi05w/items/006ed98fee433f58b93f
序章:まえがきと目次
https://qiita.com/daichi05w/items/002f311490dabaaf14d0