例えばこんな例題があるとしよう。
箱の重さの計算結果をエクセル上に表示させるマクロを作成したい。イメージとしては、オプションボタンを用意し、画面上で材料を数種類選択させる。そして重さを計算、表示させる、というもの。
材料の単位あたりの重さはエクセルの別の表に入力してあるものとする。
重さは、高さ×幅×奥行きで計算させる。
単純にエクセルの表にして計算結果を出すこともできるが、それだと材料全ての重さが表示されてしまう。余計なものが表示されてしまうと、結果だけを見たい利用者にとっては見づらく、わかりにくくなる。
どのようなマクロを組んだら、上記のようなことが起きずにすむだろうか。
こういう計算式は、簡単にエクセルのマクロで作成できる。
この問題を解決するためには、マクロを以下のように作成するといいだろう。
材料は数種類ということだが、ここでは3つ選択できるようにしてみた。
エクセルの表上には、高さをA2のセルにいれ、幅をB2、奥行きをC2セルに入力するとする。
また、オプションボタンのリンク先をD1セル、単位あたりの重量をE1~3に設定・入力するようにしよう。
Sub 重量計算()
Dim H As Variant
W As Variant
L As Variant
H = Range("A2").Value '高さ
W = Range("B2").Value '幅
L = Range("C2").Value '奥行き
Select Case Range("D1").Value
Case 1
MsgBox "箱の重さは" & H * W * L * Range("E1").Value & "です。", , "計算結果です。"
Case 2
MsgBox "箱の重さは" & H * W * L * Range("E2").Value & "です。", , "計算結果です。"
Case 3
MsgBox "箱の重さは" & H * W * L * Range("E3").Value & "です。", , "計算結果です。"
End Select
End Sub
以上。
試してみてほしい。