ここでは、以下について説明します。



変数は、プログラム中で使用するデータを格納する場所です。

例えば、三角形の面積を計算したいとしましょう。

三角形の面積を計算する公式は


面積 = 底辺 × 高さ ÷ 2


ですので、底辺が 3 で高さが 6 の面積を求めたい場合は


面積 = 3 × 6 ÷ 2


となります。毎回「底辺が 3 で高さが 6 の面積」を求めたいとは限りません。

底辺を、プログラムを実行するごとに変えたいとしたらどうでしょうか?

なにか箱を準備して、そこに底辺を入れることができれば、場面に応じた計算を行うことができますね。

プログラム中で使用するこの箱のことを変数と呼びます。


図1.変数のイメージ



変数について理解できたら、コードを書いてみましょう。

  Sub 練習()
  teihen = 3
  menseki = teihen * 6 / 2
End Sub


ここでは、teihen という変数に3を入れています(2行目)。

変数に値を入れることを 代入 といいますので覚えておきましょう。また、変数に値を代入するには「=」記号を使用します。

3行目は三角形の面積を計算しています。menseki という変数に 三角形面積の計算結果を代入しています。

* はかけ算の記号、 / は割り算の記号を表します。

2行目の teihen に代入する値を変更すれば、異なる計算ができますね。



変数は数値だけではなく、文字や日付なども代入することができます。

VBAは0個以上の文字が連なったものを、文字列 といい、ダブルクォーテーション(")で括って表現します。

例えば「おはよう」は"おはよう"として表します。

先ほどの変数に「おはよう」を代入してしまうとどうなるのかを考えてみましょう。

  Sub 練習()
  teihen = "おはよう"
  menseki = teihen * 6 / 2
End Sub

おはよう × 6 ÷ 2 を計算することになりますね。当然計算をすることはできませんのでエラーとなります。

このようなことが起きないように、変数に代入する値の種類を制限することができます。

変数 teihen と menseki に整数のみを代入できるようにするには以下のようなコードを書きます。

  Sub 練習()
  '変数の宣言 
  Dim teihen As Integer
  Dim menseki As Integer
  
  teihen = 3
  menseki = teihen * 6 / 2
  MsgBox menseki
End Sub

3行目と4行目の Dim は、これから変数を使用するということを宣言するためのキーワードです。

続けて 変数名 As 代入できるデータの種類 のように記述します。

このデータの種類のことを データ型 と呼びます。データ型には様々な種類がありますので、詳しくは 04.データ型で説明します。

ここで使用している Integer は整数を表しますので、teihen と menseki には整数のみを代入できるようになります。

最初に示した例のように、いきなり変数を使用することもできますが、一般的には

Dim 変数名 As データ型

という書式で宣言します。

これにより、誤った種類のデータが格納されることがなくなり、おかしな計算が行われることはなくなります。


ちなみに、2行目のように行の先頭にシングルクォーテーション(')を使用すると、プログラム中にメモを書くことができます。

このメモのことを コメント と呼びます。コメントは、実行するプログラムに影響を与えませんので必要に応じて使用してください。