はじめに

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

 

前回はプロシージャについてと、コードの記述ルールの確認でした。

 

さて、今回は変数についてです!

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

変数

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

変数 = 値を入れる箱 だね!

変数を利用するためにまず宣言をします。
宣言方法は以下になります。

 

 Dim 変数名

 

変数名には英数字、漢字、アンダーバー(_)などが利用可能です。
ただし先頭は文字でないといけません。

 

また1つのプロシージャのなかで複数の変数を宣言できます。

 

Sub テスト()
 Dim name
 Dim 名前
 DIm name_1
End Sub

 

まとめてもよし、その際はカンマ(,)を付けて宣言します。

 

Sub テスト()
 Dim name, 名前, name_1
End Sub

値の格納

値を一時的に保存していくための入れ物…ということで値を格納していきます。

数字をいれます!

宣言と格納方法は以下の通りです。

 

Dim 変数名

変数名 = 格納したい値

 

左側に変数名、右側に格納したい値をイコール (=) で結びます。
左辺と右辺が等しいという意味ではなく、右辺の値を左辺に格納するという意味です!

箱 (変数) に物 (値) を入れるイメージね…

 

では変数「X」に値「100」を格納しましょう!

 

Sub テスト()
 Dim X
 X = 100
End Sub

 

とってもカンタンです!

 

さらに計算をさせましょう。

 

内容は以下になります。

  1. 変数「X」を宣言。
  2. 変数「X」に「100」という値を格納。
  3. 変数「X」に格納されている値に「50」加えた値を改めて変数「X」に格納。

 

コードは以下の通りです!

 

Sub テスト()
 Dim X
 X = 100
 X = X + 50
End Sub

 

VBAは改行を入れることで1つの処理が終わったと判断するので、最終的に「x」に「150」が格納されます。

 

「X」と「Y」を使っても可能です。
「Y」を宣言するため多少行が増えていますが、こちらのほうがわかりやすいですね。

 

Sub テスト()
  Dim X
  Dim Y

   X = 100
   Y = X + 50
End Sub

変数の使用

宣言し格納した後は変数を値として使うことができます!

 

Sub テスト()
    Range("A1").Value = 100
End Sub

 

これはその2で使った“「A:1」の位置にあるセルに「100」を記述するだけのとーっても簡単なコード”です。

これを変数を宣言して書き換えてみます!

 

Sub テスト()
 Dim X
 X = 100
 Range("A1").Value = X
End Sub

 

行が増えましたが「A:1」に「100」を記述する結果は変わりません。

 

Sub テスト()
 Dim X
 X = 100

 Range("A1").Value = X
 Range("A2").Value = X
 Range("A3").Value = X
End Sub

 

このように多くなれば「X = 100」の部分を変えるだけで全体の変更が容易になります。

 

長いコードだととってもべんり!

練習

遊んでみましょう!

先ほどの計算させるコードをいじってみます。
計算の合間にセルに値を記述させます。

次回で説明するので省きますが「 Range(“A1”).Value = X 」 がセルに記述させるコードです。

 

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」でもうまくいきましたね!

 

変数は使えるようになった!!

変数に数字を格納してセルに記述させることができました。
次回は整数以外の数字を格納します。今回省いた「Range(“A1”).Value」について詳しく説明します。
ボリューム多いです!数回に分けて頑張っていきましょう!!

 

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