ElseIfを使った条件分岐
前回その7でIfによる条件分岐について学びました。
今回はその続きです。
割合が80%以上の場合に「好調!」と付けることができるようになったわけですが、今回はさらに
60%以上、80%未満の場合は「もう少し!」、
60%未満の場合は「がんばれ!」と出るようにしてみます。
前回はここまで書いていましたので、この続きから書き入れていきます。
Ifの条件文の後に、
60%以上、80%未満の場合は「もう少し!」
という条件を入れたいので、
ElseIf 0.6
と、書き足して足してください。
これは、数学でいうところの不等式っぽい条件ですね。
60%以上というのが 0.6
うまいこと、「もう少し!」を入れることができました。
では続いて、60%以下の条件についても記述してみましょう。
どうすればいいか、予想付きましたでしょうか?
ElseIf Cells(i, 5)
ですね。
これを実行すると、
うまく行きました!
券売数を変えて試してみてください。
計画した通りになりましたでしょうか?
試しに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
宿題-8
この表で、判定の文字を、
がんばれ→青 もう少し→オレンジ、好調→赤
になるようにしてください。
解説
文字色を変えるには、font.colorというプロパティを使います。
例えば、F4の文字列を赤に変えるためには、
Cells(4, 6).Font.Color = RGB(255, 0, 0)
としてください。
RGBの後ろの数字は、(赤、緑、青)に対応しています。255が最大値で0が最小値です。赤が255で他が0だから、赤色というわけですね。
同様に青はRGB(0, 0, 255)です。
では、オレンジはというと、ぱっとはわからないのでGoogleなどで「カラーコード RGB オレンジ」などと検索してください。
するといろんなサイトでRGBの値を教えてくれます。
僕はRGB(255, 140, 0)にしてみましたが、これは好みなので良きところを選んでください。
ということで、マクロのコードは
Cells(i, 6) = "好調!"
Cells(i, 6).Font.Color = RGB(255, 0, 0)
のように、それぞれに色を指定していけば実現できます。
最終的なコードはこちらです。
Sub hw08_colorHantei()
For i = 2 To 4
'80%以上であれば
If Cells(i, 5) >= 0.8 Then
Cells(i, 6) = "好調!"
'文字色を赤に
Cells(i, 6).Font.Color = RGB(255, 0, 0)
'60%以上で80%未満であれば
ElseIf 0.6
エクセルマクロ(EXCEL VBA) その9 ボタンを配置/マクロの調べ方
(文:森脇孝/エントレ)