オデッセイの運営サイト一覧

Excel®️、Accessのマクロ・VBAのスキルを評価する資格VBAエキスパート

企業・教育機関の皆さまへ 試験会場を探す お問い合せ

やってみよう!Excel VBAで業務改善!|VBAとの出会い編

第3話「星くん、VBAに目覚める!」

第3話「星くん、VBAに目覚める!」

登場人物紹介

さらに変数を使ってみよう

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の中で特別な意味を持つ言葉を"キーワード"というんだけど、
これと同じ変数名をつけることはできないから注意が必要だよ」

「でもなあ…」

星くんは、まだ何か腑に落ちない様子です。

シーズン1 「VBAとの出会い」編:エピソード一覧

一覧へ戻る

MENU