セルA1に数値を入力させて、ボタンを押すと、セルB1に税込み価格が表示されるプログラムを作りたいとします。
エクセルの通常の機能であれば、セルB1に「=A1*1.05」とすれば実現できますが、マクロの重要な機能である変数を説明するために、あえて変数を使ったマクロで作成し、エクセルの通常の機能と比較理解をしやすくします。
まずは、シートにボタンを作りましょう。ボタンの作り方は「準備 | エクセルVBA基礎の基礎」を参照して下さい。5分で分かります。
ボタンに紐付けるプログラミングはこうなります。
Private Sub CommandButton1_Click()
zeinuki = Range("A1").Value
Range("B1").Value = zeinuki * 1.05
End Sub
一行ずつ説明します。
Private Sub CommandButton1_Click()
CommandButton1という名前のボタンをクリックすると実行される機能、という意味です。
zeinuki = Range("A1").Value
ここで変数が出てきました。
変数とは”一時的に何らかの値が保存される場所”であり、プログラム中でそれを利用することができます。
ここでは、ボタンが押されると、まずはセルA1の値が、変数zeinukiに入れられます。
変数の名前は任意です。ここでは税抜き価格なのでそのまんまzeinukiとしていますが、何でも良いです。ちなみにプロや熟練者は名前付け規則を作っておいて、それを守ります。読みやすさ(可動性)を維持するためです。
ここでは変数zeinukiの中身に、セルA1の値が入ります。セルA1の中身が100なら、変数zeinukiの中身が100になります。これをいかようにも使用することができます。
Range("B1").Value = zeinuki * 1.05
ここで作成した変数zeinukiを使用しています。
zeinukiに1.05を掛け、その結果をセルB1の値としています。
変数に値を入れることを”代入”といいます。
変数を代入する書式は
変数名 = 値
です。
左辺が入れられる側です。
End Sub
これはCommandButton1という名前のボタンをクリックすると実行される機能の終わり、という意味です。一行目の「Private Sub CommandButton1_Click()」とワンセットです。”拝啓”で始まった手紙が、”敬具”で終わるようなものです。