エクセルマクロ(EXCEL VBA) その8 ElseIfを使った条件分岐(If ElseIf)
ElseIfを使った条件分岐
前回その7でIfによる条件分岐について学びました。
今回はその続きです。
割合が80%以上の場合に「好調!」と付けることができるようになったわけですが、今回はさらに
60%以上、80%未満の場合は「もう少し!」、
60%未満の場合は「がんばれ!」と出るようにしてみます。
前回はここまで書いていましたので、この続きから書き入れていきます。
Ifの条件文の後に、
60%以上、80%未満の場合は「もう少し!」
という条件を入れたいので、
ElseIf 0.6 <= Cells(i, 5) And Cells(i, 5) < 0.8 Then
Cells(i, 6) = "もう少し!"
と、書き足して足してください。
これは、数学でいうところの不等式っぽい条件ですね。
60%以上というのが 0.6 <= Cells(i, 5)の部分で、
80%未満というのが Cells(i, 5) < 0.8 の部分です。
それを And でつないで、60%以上 かつ 80%未満 と表現しているわけです。
これで実行すると、
うまいこと、「もう少し!」を入れることができました。
では続いて、60%以下の条件についても記述してみましょう。
どうすればいいか、予想付きましたでしょうか?
ElseIf Cells(i, 5) < 0.6 Then
Cells(i, 6) = "がんばれ!"
ですね。
これを実行すると、
うまく行きました!
券売数を変えて試してみてください。
計画した通りになりましたでしょうか?
試しに0.8や0.6を変更してみて、うまく動作するか実験してみても面白いと思います。
ここまでやってくると、
『やっぱり「好調!」は太字にしたい』とか
『いちいちマクロの画面に行って実行を押すのがめんどくさい』とか
もっと楽に、いい感じにできないだろうかと思ってきませんか?
次回は、エクセルマクロの調べ方と、ボタンを配置する方法についてご紹介します。
今回の最終的なコード
Sub kenbai_hantei()
For i = 2 To 4
If Cells(i, 5) >= 0.8 Then
Cells(i, 6) = "好調!"
ElseIf 0.6 <= Cells(i, 5) And Cells(i, 5) < 0.8 Then
Cells(i, 6) = "もう少し!"
ElseIf Cells(i, 5) < 0.6 Then
Cells(i, 6) = "がんばれ!"
End If
Next
End Sub
宿題-8
この表で、判定の文字を、
がんばれ→青 もう少し→オレンジ、好調→赤
になるようにしてください。
エクセルマクロ(EXCEL VBA) その9 ボタンを配置/マクロの調べ方
(文:森脇孝/エントレ)