VBA講座03 値を入力して足し算します

InputBox関数

 前回記事の最後でマクロは次のようになっています。

 Sub 足し算3()
  Dim x As Double
  x = 1 + 1.8
  MsgBox x
 End Sub

 これを実行すると、ちゃんと足し算してくれますけど、まだまだ使いにくいマクロです。「別の足し算をしたいなあ」と思ったら3行目の「 x = 1 + 1.8 」の部分を書き換えなければなりません。それはちょっと面倒ですよね。そこで
「好きな値を入力して足し算してくれるようにならないかなあ」
と考えます。そういうときに便利な VBA関数が用意されています。その新しい関数を使ってマクロを書き換えてみますね。

 Sub 足し算4()
  Dim x As Double, a As Double, b As Double
  a = InputBox("aを入力してください")
  b = InputBox("bを入力してください")
  x = a + b
  MsgBox x
 End Sub

 かなりプログラムらしくなってきました。
 a, b という2つの変数を付け加えるので、

Dim x As Double, a As Double, b As Double

というように宣言文を増やしています。このように変数宣言は「, 」で区切って横並びにして書くことができます。スペースは自分で入力しなくても、改行すると勝手に空けてくれます。上の文を縦に並べて

Dim x As Double
Dim a As Double
Dim b As Double

と書くこともできます。宣言する変数が多いときは、あまり横にずらずら並べずに、適当なところで改行して縦に並べたほうがよいでしょう。

 上のマクロでは新しく InputBox という記述が登場しています。
 これは InputBox関数 とよばれるもので、

InputBox("メッセージ")

という形で記述すると「メッセージ」付のダイアログボックスが現れて、ユーザーさんに値を入力するように促してくれます。上のマクロでは、そこで入力された値が a, b という変数に放り込まれます。それからその2つを足し合わせて x に入れます。マクロを実行すると次のようなダイアログボックスが2回現れるはずです。

 VBA-InputBox関数

 とりあえず「 2 」、「 3 」と順に入力してみてください。
 「 5 」という値が戻ってくるはずです。
 とっても単純なマクロですけど、これでも電卓と同じように好きな値で足し算できるのですから、なかなか大したものなのです。

 ≫ ワークシートと連携します
 ≫ 数学マクロ講座トップページへ戻る

スポンサーリンク
スポンサーリンク
末尾広告
末尾広告

コメントをどうぞ

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください