第2講 計算させてみよう。
第1話 変数を理解しよう。
今回作るマクロは、サンプル2、サンプル3、サンプル4、サンプル5。
まず、サンプル2をダブルクリックして開いてみましょう。
そして、Alt+F11によってVisual Basicを開いてください。
実行のプログラムは次のようになっています。
Private Sub CommandButton1_Click()
Dim a As Integer, b As Integer, s As Integer
a = 1
b = 2
s = a + b
Cells(5, 1) = s
End Sub
(このプログラムは
Private Sub CommandButton1_Click()
Dim a As Integer, b As Integer, s As Integer
a = 1
b = 2
s = a + b
Cells(5, 1) = s
End Sub
のように書いても同じですが、
分かりやすくするために上のようにスペースや
改行を入れるようにしましょう。)
ここで3つの文字a、b、sが出てきますが、
これが変数です。
しかも、整数型の整数です。
Dim a As Integer, b As Integer, s As Integerは省略しても、
a=1などからVisual Basicの方で自動的に整数型の変数であることを認識してくれますが、
変数を使うときには、何型の整数であるか最初に宣言しておくように習慣づけたいものです。
Dim a As Integer, b As Integer, s As Integerを入れる理由は、
コンピュータのためではなく、
それを読む人間のためです。
プログラムは作っている本人にもそれを読む他人にも分かりやすしなければなりません。
本人にもという部分は納得できないかも知れませんが、
プログラムをたくさん作っていくと、
本人も何のプログラムかわからなくなることがあります。
プログラミングするときには、
構造プロミラミングといって、
1つ1つのプログラムをプラモデルの部品のような独立の部品にして、
いろいろな場面で使えるようにした方が、
効率的です。
特に大きなプログラムでは何百人の分業作業になるのですから、
これは大変大切なことです。
前に作ったプログラムや他人の作ったプログラムが、
何のプログラムであるかわからなければ、
部品として利用することはできません。
だから、分かりやすく書くということが大切なのです。
Dimは定義(言葉の意味を決めること=約束)、
Integerは整数です。
Asは「として」という意味です。
ですから、
Dim a As Integer, b As Integer, s As Integer
はa、b、cを整数型の変数として定義するという意味です。
ところで、変数の意味を説明しませんでしたが、
この変数は数学の変数とは少し意味が違います。
変数とは、いろいろな値を入れることのできる下のような箱であると思ってください。
a
そしてa=1はその箱の中に1を入れる操作だと思ってください。
a=1の=は数学のイコールとは全然違うもので、
むしろa←1のようにイメージした方がいいです。
a=1によって先の箱は、
a
となります。
ただし、この箱は1個の値しか入れられませんので、
a=2という操作をすると、
a
1は追い出されて、上のようになってしまいます。
a = 1
b = 2
s = a + b
Cells(5, 1) = s
のプログラムを順に追うと最初の3行で、
a
b
s
となって、sの箱には3が入ります。
そして、Cells(5, 1) = sによって
sの箱に入っている3がエクセルのセルA5に入り表示されることになります。
第1講第3話へ 第2話へ