サンプル画像
Excelマクロ塾メニュー

エクセルマクロ・VBAは慣れが肝心
最初は難しく感じるExcelのマクロとVBAですが、仕組みが理解できると徐々に使いこなせるようになってきます!
自分のペースで着実に勉強しましょう!

エクセルマクロ塾
エクセルマクロ塾

変数を使った計算

前回は変数に数値を入れるところまで進むことができました。

この数値を入力した変数はそのまま数値と同じように計算式で使用することができるんです。

数値をそのまま入力するのではなく、変数を使った計算式にした場合どれほどまでわかりやすくなるのか、例題を使って比較しながら見てみましょう。

 

変数を使って計算する

7500円の商品があるとします。セール期間やキャンペーン中は「表示価格より更に15%割引!」や「5%ポイント還元!」など金額が変わってくるものが多くあります。

結局これっていくらになるんだろう?とわかりにくいものって多くありますよね。

このような計算を変数を使って行うと非常に便利です。

 

7500円の商品から3%の金額を割引し、更に3%ポイント還元するとします。

値引率に加えポイント還元された分の金額も合わせて引いた場合に、7500円がいくらまで下がるのかを計算します。

 

* 変数を使わない計算式

 

Range("A1").Value = 7500 * 0.03

 7500円の3%分の金額を求めます。

Range("A2").Value = 7500 - Range("A1").Value

 7500円から3%分の金額を引いた額を求めます。

Range("A3").Value = Range("A2").Value * 0.03

 割り引いた金額から3%ポイント還元したときの金額を求めます。

Range("B2").Value = Range("A2").Value - Range("A3").Value

 合計金額を求めます。

 

プログラムの下に説明を入れましたが、値引率とポイント還元が同じ3%(上の0.03)なのでぱっと見たときにどっちの「0.03」が値引率を表しているのか区別が付きにくいですね。

また後からどちらか片方を修正したい場合も見分けるのが大変です。

 

このようなことは変数を使って計算式を作ってあげれば、「どこでどんな計算をしているのか。」が一目でわかり、修正をする作業も簡単になります。

 

* 変数を使った計算式

 

値引率 = 0.03

ポイント還元 = 0.03

Range("A1").Value = 7500 * 値引率

Range("A2").Value = 7500 - Range("A1").Value

Range("A3").Value = Range("A2").value * ポイント還元

Range("B1").Value = Range("A2").Value + Range("A3").Value

 

変数を使って計算するとどこで何の計算をしているか一目でわかります。

値引率やポイント還元の%に変化があった場合でも

値引率 = 0.03

ポイント還元 = 0.03

上の数字を変えるだけで修正できます。

例えば割引率が5%に上がったとしましょう。その場合は

値引率 = 0.05

ポイント還元 = 0.03

とすれば修正が完了します。

 

変数を入れることによってプログラムが見やすくなり修正箇所も見つけやすくなりました。

うまく使いこなせるようになれば作業効率をあげることもできますね!

 

VBA