- 締切済み
Excel 条件による背景色の変更
下記の要件の場合、 書式設定、関数だけで実現できますでしょうか。 A列 予算、B列 実績とした場合、 予算、実績とも手入力して(予算はあらかじめ入力済み)、 実績が予算比として 20%を超えた場合、(1)色。 20%以下10%超の場合、(2)色。 10%以下0%以上の場合、(3)色。 0~-10%の場合、(4)色。 -10%~-20%の場合、(5)色。 -20%超の場合、(6)色。 というように入力した実績セルの背景色を6色に色分けしたい。 また、20%、10%、-10%、-20%という基準は自由に設定したい。 大まかに上記のような要件です。 基準と背景色の情報を別シート(色情報シートとします)に 作っておいて 入力された実績から比率を求めて、 色情報シートから該当の背景色を決定して、 実績セルの背景色を変える。 というイメージでしょうか。 マクロを組まないと実現できない場合、 一部分でもかまいませんので、 コードをご教示いただけると幸いです。 または同様事例のWebページなど紹介していただけると助かります。 申し訳ございませんが、よろしくお願いいたします。 以上
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- hallo-2007
- ベストアンサー率41% (888/2115)
一案ですが、新しいブックで試してみてください。 シート名のタブを右クリックして、コードの表示 をクリック VBエディターが起動したら Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 2 Then i = Target.Row Select Case (Range("B" & i).Value - Range("A" & i).Value) / Range("A" & i).Value Case Is < -0.2 Range("B" & i).Interior.ColorIndex = 3 Case Is < -0.1 Range("B" & i).Interior.ColorIndex = 4 Case Is < -0.1 Range("B" & i).Interior.ColorIndex = 5 Case Is < 0 Range("B" & i).Interior.ColorIndex = 6 Case Is < 0.1 Range("B" & i).Interior.ColorIndex = 7 Case Is < -0.2 Range("B" & i).Interior.ColorIndex = 8 Case Else Range("B" & i).Interior.ColorIndex = 9 End Select End If End Sub をコピィして閉じます。 A列に予定、B列に実績を手入力してみて下さい。
- akiomyau
- ベストアンサー率43% (555/1280)
お使いのExcelのバージョンがExcel2007であれば 条件付き書式設定で可能です。 しかし、それ以前のバージョンでは条件付き書式設定が3つまでしか設定できないため マクロなどを組まないとできません。
補足
akiomyau様 早速に回答を頂戴しまして、ありがとうございました。 説明不足でした、以下を補足させていただきます。 ターゲットはExcel2003となります。 お手数をおかけいたしますが、よろしくお願いいたします。 以上
お礼
hallo-2007様 回答を頂戴いたしまして、 誠にありがとうございました。 大変、参考になりました。 ご教示いただきました内容をもとに、 今回の要件に対応したいと存じます。 ありがとうございました。 以上