VBAの変数とは
<< オブジェクトブラウザとは :前の記事
前回は、オブジェクトブラウザについて解説しました。利用方法が分からないプロパティ・メソッドやどのようなメンバがあるのかを確認したい場合は非常に便利なツールですので、是非活用しましょう。ここからはVBAに限らずプログラミングの世界で共通するプログラムの基本について解説していきます。今回はその中でも重要な「変数」についてみていきましょう。
目次
変数とは
変数とは、文字列や数字など値を入れておく箱のようなものです。文字列や数値、オブジェクトのプロパティ値などを入れることができます。これまでの事例では、プロパティの値を直接Rangeオブジェクトに代入してきました。
これまでの事例のように短いプログラムであれば直接代入しても問題ありませんが、複雑なプログラムになればなるほど値のやり取りが頻繁に行われます。その際に変数という箱に格納すれば自由に出し入れすることができます。
エクセルVBAでは、値の受け渡しや計算結果の格納などすべて変数を利用して行いますので、しっかり理解して利用しましょう。
変数の使い方
変数を利用するには決まった書式に則って記述します。決まった書式とは、「=(イコール)」を記述し数値・文字列・式などの設定値を代入します。
変数名 = 数値・文字列・式など
例えば、変数aに「VBA」の文字列を代入する場合は以下のように設定します。また、「VBA」は文字列ですので文字列を格納する場合は「"(ダブルクォーテーション)」で括るようにしましょう。
Sub Sample()
a = "VBA"
End Sub
続いてこちらは数値と計算式の結果を変数aと変数bに格納しています。数値の場合はそのまま記述し「"(ダブルクォーテーション)」で括る必要はありません。変数aには「5」が格納されていますが、変数bには何が格納されているでしょうか?
正解は、変数bは変数aに算術演算子を利用して3を加えた数値ですので5+3=8で「8」が格納されます。このように計算式の結果も格納することができます。
Sub Sample()
a = 5
b = a + 3
End Sub
変数と文字列の違い
変数と文字列の違いについて、文字列として扱う場合は「"(ダブルクォーテーション)」で括り、数値として扱う場合は括らずそのまま記述すると説明しました。
では、変数はどのように記述するかというと後者の括らずそのまま記述する形となります。この違いは非常に重要で間違った記述をしてしまうとエラーが発生することもあります。
例えば以下の事例の場合、変数a,b,cにはどのような値が格納されているでしょうか?変数aは文字列の「VBA」が格納されています。変数bは「"(ダブルクォーテーション)」で括られていない「a」ですので、変数aの値である文字列の「VBA」が代入されます。
そして変数cですが、こちらは「"(ダブルクォーテーション)」で括られた「a」ですので、文字列の「a」が格納されます。
このように「"(ダブルクォーテーション)」のありなしで変数が大きく変わりますので、記述する際は注意が必要です。
Sub sample()
a = "VBA"
b = a
c = "a"
MsgBox "変数aの値:" & a & vbCrLf & _
"変数bの値:" & b & vbCrLf & _
"変数cの値:" & c
End Sub
実行結果
変数の命名規則
変数の名前は基本的に自由に命名できますが、いくつかの命名ルールがあります。変数名を命名する際は以下に注意しましょう。
- 使用できる文字は、英字、ひらがな、全角カタカナ、漢字、数字、アンダースコア(_)
- 先頭は文字でなければならない(数字または記号以外の文字)
- 記号やスペースは使用できない
- 変数名は半角255文字(全角127文字)以内にする
- ExcelのVBA関数、ステートメント、メソッドと同じ名前(予約語)を使用することは出来ない
- 同一の適用範囲内で同じ名前の変数を宣言することはできない
変数名の付け方
変数名の付け方には様々な表記方法があります。以下は代表される表記方法になります。
表記方法 | 内容 | 事例 |
---|---|---|
ハンガリアン記法 | 変数名の先頭にデータ型を示す1~3文字程度の接頭辞(プリフィックス)をつける | strName |
キャメル記法 | 複数の単語を組み合わせて変数名を設定し、各単語の先頭を大文字にする | UserName |
スネーク記法 | 変数名をすべて大文字にする | user_name |
まとめ
今回は、変数というものが何なのかについて解説しました。変数は非常に便利なものですので、命名規則や使い方をしっかり覚えましょう。次回は、変数の宣言について解説していきます。
次の記事: 変数の宣言 >>
近田 伸矢, 植木 悠二, 上田 寛
IEのデータ収集&自動操作のプログラミング本はこの1冊だけ!IEの起動やポップアップウィンドウ、表示を制御する基本的なコードはもちろん、テキストボックスやラジオボタン、表、ハイパーリンクなどのHTML部品を制御する方法など、自動操作に欠かせないノウハウを丁寧に解説。