エクセル[Excel] マクロを1から解説しています。

エクセルのマクロを使って計算してみましょう

箱の重さの計算結果をエクセル上に表示させるマクロを作成するとします。

イメージ的には、箱に入れる材料を数種類オプションボタンにて画面上で選択をさせ、重さを計算させて表示させるということです。

材料の単位あたりの重さは、エクセルの別の表に入力してあります。

重さは、高さ×幅×奥行きで計算させる予定です。

こういう計算式って簡単にエクセルのマクロで作成できるものなのでしょうか?

単純にエクセルの表にして計算結果を出そうとすると、材料全ての重さが表示されてしまうし、余計なものが表示されてしまうので、表示結果を見る側には分かりづらいものとなってしまいます。

これらを回避するためにはどのようなマクロを組んだらよいのでしょうか?

この問題のためにマクロを以下のように作成してみましたので参考にしてみてください。

材料は数種類ということでしたが、ここでは例として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

以上、参考にしてみてくださいね。