
VBA超入門シリーズ:その4 ~変数~
はじめに
前回は基本ルールの確認でした。
今回は変数についてです。
プログラミングっぽくなってきましたね!
変数
値を一時的に保存していくための入れ物です。
計算の途中の値を一時的に保存したりするために使用します。
変数を利用するためには宣言が必要です。
宣言方法は以下のようになります。
Dim 変数名
変数名には英数字、漢字、アンダーバー(_)などが利用可能です。
ただし先頭は文字でないといけません。
例
Dim 変数
Dim X
Dim product_name
1つのプロシージャのなかで複数の変数を宣言可能です。
Sub テスト()
Dim name
Dim old
Dim address
End Sub
まとめてもよし、その際はカンマ(,)を付けて続けて記述をします。
Sub テスト()
Dim name, old, address
End Sub
値の格納
値を一時的に保存していくための入れ物、、、ということで値を格納していきます。
格納方法は以下の通りです。
Dim 変数名
変数名 = 格納したい値
左側に変数名、右側に格納したい値をイコールで結びます。
左辺と右辺が等しいという意味ではなく、右辺の値を左辺に格納するという意味です。
では変数「X」に値「100」を格納しましょう。
Sub テスト()
Dim X
X = 100
End Sub
とってもカンタン!
次は計算を交えます。
まず変数「X」に「100」という値を格納します。
次に変数「X」に格納されている値に「50」加えた値を改めて変数「X」に格納します。
最終的に「X」に「150」が格納されます。
Sub テスト()
Dim X
X = 100
X = X + 50
End Sub
「X」と「Y」を使っても可能です。
Sub テスト()
Dim X
Dim Y
Y = 10
X = Y + 5
End Sub
値が格納された変数は「100」と直接記述するかわりに変数名を使って記述することができます。
Sub テスト()
Range("A1").Value = 100
End Sub
これ↑は最初に使った“「A:1」の位置にあるセルに「100」を記述するだけのちょー簡単なコード”です。
以下のように書き換えることが可能です。
Sub テスト()
Dim X
X = 100
Range("A1").Value = X
End Sub
セルに記述する部分が1行なので恩恵がほぼないですが。。。
Sub テスト()
Dim X
X = 100
Range("A1").Value = X
Range("A2").Value = X
Range("A3").Value = X
End Sub
このように多くなれば「X = 100」の部分を変えるだけで全体の変更が容易になります。
練習
計算させるコードをいじってみます。
さらに計算の合間にセルに値を記述させます。
Sub テスト()
Dim X
X = 100
Range("A1").Value = X
X = X + 50
Range("A2").Value = X
End Sub
これで
「A1」に最初に格納されている「100」が、
「A2」に「50」足した「150」が記述されるはず。。っ!
VBEから実行します。
あっさりとできましたね!
「X = 100」を変更すれば全体も変わります。
「X=1」でもうまくいきましたね!
変数に数字を格納してセルに記述させることができました。
今度は数字以外を格納していきます。
次回に続く。