はじめに

VBA超入門シリーズ:その3 ~基本ルール~

前回は基本ルールの確認でした。

 

今回は変数についてです。

プログラミングっぽくなってきましたね!

変数

計算の途中の値を一時的に保存したりするために使用する入れ物のことです。

変数を利用するためには宣言が必要です。
宣言方法は以下のようになります。

 

 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

 

これはその2で使った“「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」でもうまくいきましたね!

 

 

 

変数に数字を格納してセルに記述させることができました。
今度は数字以外を格納していきます。

「VBA超入門シリーズ:その5 ~変数の型~」に続く