トップ > 資格を活かすには > やってみよう!Excel VBAで業務改善! > VBAとの出会い編: 第3話「星くん、VBAに目覚める!」2/4 :変数を使ってみよう

やってみよう!Excel VBAで業務改善! VBAとの出会い編|第3話 「星くん、VBAに目覚める!」

変数を使ってみよう

「そうか、実際のコードを見た方がわかりやすいかな」 八木くんが、カタカタとVBEにコードを打ち込みます。

Sub Sample()
    Dim Namae
    Namae = InputBox("名前を入力してください")
    MsgBox Namae & "さんようこそ、" & Namae & "さんが入室されました"
End Sub

「このコードの2行目にある"Dim"というのは、Dimステートメントといって変数を"宣言"するための命令なんだ。
つまり、ここで"Namae"という変数(メモ)を用意しているんだ。
3行目にある"InputBox"はInputBox関数といって、ユーザーにデータを入力させるためのダイアログボックスを表示する関数だよ。ちょっとこれを実行してみよう」

「あ、何か出たね」 「うん、InputBox関数が表示したダイアログボックスだよ。星、ここにおまえの名前を入力してみろよ」

星くんが名前を入力し、[OK]ボタンをクリックします。

「あ、メッセージが出た!さっき入力した名前が出ているね」 「うん。順を追って説明すると、まず2行目でNamaeという変数を作った。
次に3行目でユーザーの入力した値を変数Namaeに代入した。
そして4行目で変数Namaeに格納されている値、さっきの場合は"星"という文字列をメッセージで表示したんだ」
「これ、さっきのダイアログボックスに"八木"と入力したら、"八木さんようこそ…"って表示されるのかい?」 「うん、そのとおり。変数はただのメモだから、格納した値がその変数の値になるんだ。
もっと長い名前を入力することもできるし、名前以外の文字列を入力することもできるよ」
「これ、変数を使わないとどうなるんだい?」 「その場合、名前の値が必要な箇所でその都度ユーザーに名前を入力してもらわないといけない。
でも一度入力した値を、何度も入力させるなんてナンセンスだろ?
変数に一度格納してしまえば、そのあとプロシージャ内のどこでも、何度でも、その値を利用できるんだ」

星くんがなるほど、という顔をします。

「確かにこれは便利そうだね」 「だろ?このコードをこんなふうに書き換えてみるよ」

シーズン1 「VBAとの出会い」編: 各エピソードへのリンク
一覧にもどる