エクセルマクロ(EXCEL VBA)

エクセルマクロ(EXCEL VBA) その8 ElseIfを使った条件分岐(If ElseIf)

ElseIfを使った条件分岐

前回その7でIfによる条件分岐について学びました。
今回はその続きです。

割合が80%以上の場合に「好調!」と付けることができるようになったわけですが、今回はさらに
60%以上、80%未満の場合は「もう少し!」、
60%未満の場合は「がんばれ!」と出るようにしてみます。

前回はここまで書いていましたので、この続きから書き入れていきます。

kenbai_hanteiの続き

Ifの条件文の後に、
60%以上、80%未満の場合は「もう少し!」
という条件を入れたいので、

ElseIf 0.6 <= Cells(i, 5) And Cells(i, 5) < 0.8 Then
Cells(i, 6) = "もう少し!"

と、書き足して足してください。

60 <= x <80

これは、数学でいうところの不等式っぽい条件ですね。
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 ボタンを配置/マクロの調べ方

(文:森脇孝/エントレ)

関連記事一覧