はじめに
前回のおさらいと今回やること
前回は、VBAにおける頻出用語を紹介しました。
今回は、変数について学習していきましょう。
変数とは?
なぜ変数が必要なのか
前記事で少しお話した通り、変数とは値を入れる箱のようなものです。では、値を変数に格納することでどんな良いことがあるのでしょうか。具体例を見てみましょう。
2つの入力された値の合計を求めるプログラムを記述してみます。Excel関数のSUMをVBAを用いて記述するようなイメージです。
プログラムの記述ひとつひとつの意味に関しては、まだ分からなくて結構です。今回は「変数」にスポットを当てて説明していくので、「変数」という単語が出てきたら注意深く読んでみてください。
変数を使用していない例
まずは変数を使用していない例です。これを実行してみます。(記述された方は、F5キーを押すと実行されます。)
うまく実行されて、セルE4に”4″という数値が挿入されました。
次に、値1、値2を変更して実行してみます。
合計に挿入される数値が変わっていません。何故でしょうか。記述したプログラムを見て頂ければ答えはすぐに分かりますね。
Range("E4").Value = 1 + 3
右辺に注目です。定数同士(1と3)を加算した値が挿入されることになっています。
※ちなみに、プログラミング上「=(イコール)」の意味は、左辺に右辺を代入するという意味になります。今回の記述を日本語訳(?)すると、「セルE4の値として、1 + 3を代入する」ということですね。
変数を使用した例
これでは使い勝手がどうこう以前に、目的を果たせていません。
理由は、ユーザーによって書き換えられた値をプログラム上では考慮していないからです。値は1と99に変わっているにも関わらず、プログラムの記述は1と3を足す処理のままです。
ここで変数の登場です。ユーザーが入力した「値」を「箱(変数)」に入れます。こうすることで、プログラムでは「●●(箱の名前)の中に入っている中身」という記述ができるようになります。
変更したソースがこちらです。変数を使用する際には、
①変数の宣言をする
②変数に値を格納する
③変数に格納された値を参照する
というステップが、”基本的には”必要になります。
今回のソースコードの1行目の記述「Option Explicit」が書かれている場合、宣言していない変数は使用できません。
「Option Explicit」が書かれていない場合、変数は宣言せずとも使用することができます。
これを実行すると、ちゃんと値1と値2を足した結果が表示されます。
変数を使用する理由
今回紹介した例は、ユーザーが入力した値を使用して処理を行うようなソースコードです。ユーザーが入力した値というのは変更可能であって、変更される可能性があります。そうした値を何らかの処理に用いたい場合に変数を使用します。名称からも分かりますね。”変”数ですから。
基本的に変更される可能性のあるものに関しては、変数に格納してプログラム上で使用しましょう。
まとめ
今回は、変数の基本的な部分をサンプルコードと共に見てきました。変数は今後どのようなプログラムを記述するにしても必ず使用する超重要な概念となっておりますので、今回の内容をしっかりと理解してから次へ進みましょう。
次回はデータ型に関して学習していきます。