Sub Sample()
Dim Kingaku
Kingaku = InputBox("金額を入力してください")
Kingaku = Kingaku * 1.05
MsgBox "消費税込みの金額は" & Kingaku & "円です"
End Sub
八木くんはコードを打ち終わると星くんにたずねました。
「100円の商品の消費税込みの金額はいくらでしょう?」
「八木…おれをバカにしてるだろ。105円だよ」
八木くんがコードを実行させ、ダイアログボックスに"100"と入力して[OK]ボタンをクリックしました。
「はは…すまんすまん。そのとおり正解は105円だよ」
「さっきから気になってるんだけど、この記号の"="、数学のイコールとはちょっと違うよな」
「いいところに気がついたな。この"="は代入演算子といって、
右辺の値を左辺の変数やオブジェクトのプロパティに代入する働きをするんだ。
意味的には"="より"←"の方がしっくりくるかな。
VBAではこの代入演算子の"="と、数学のイコールと同じ意味をもつ比較演算子の"="の両方を使うから注意が必要だよ」
「あとこの"*"とか"&"とかはなんだい?これも演算子かい?」
「うん。数学の"+-×÷"は、VBAでは"+-*/"の記号を使う。
"&"は連結演算子といって文字列を連結させるのに使うんだ」
「そうか。右辺の"Kingaku * 1.05"で元の金額を1.05倍した値を代入演算子の"="で、左辺の"Kingaku"という変数に代入してるのか。
MsgBox関数でメッセージを出すときは連結演算子の"&"で、文字列をくっつけて表示させてるんだね」
八木くんは真顔で、ジッと星くんを見つめます。
「星、おまえなかなかスジがいいな」
「え…なんだよ、そんなこというと照れるじゃないか…」
星くんはポリポリと頭をかきました。
「この変数の名前、"Namae"とか"Kingaku"とか…これは自由につけていいのかい?」
「うん。自由につけられるから好きな名前にするといい。
ただしヘンテコな名前をつけると後からわかりにくいよ。
あと"Sub"や"End"、"MsgBox"みたいにVBAの中で特別な意味を持つ言葉を"キーワード"というんだけど、
これと同じ変数名をつけることはできないから注意が必要だよ」
「でもなあ…」
星くんは、まだ何か腑に落ちない様子です。