- ベストアンサー
条件別で色分けをする。
こんにちは。WindowsNTでExcel2000を使っています。 タイトル通りある範囲のセルを条件によってセルに色がつくように設定したいのですが 「条件付き書式」では3パターンしか設定できない為使えません。 条件というのは4つの文字を判別させて4パターンの色を出したいのです。 VBAを試みましたがどうもうまくいきません。 よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんな感じでいかがでしょうか? Sheet内 Private Sub Worksheet_Change(ByVal Target As Range) Dim Cell_Data(3) As String Cell_Data(0) = "A1" Cell_Data(1) = "B2" Cell_Data(2) = "C3" Cell_Data(3) = "C4" With Target Cell_address = .Address(False, False) For i = 0 To 3 If (Cell_Data(i) = Cell_address) Then Select Case .Value Case "1" .Interior.ColorIndex = 6 Case "2" .Interior.ColorIndex = 38 Case "3" .Interior.ColorIndex = 36 Case "4" .Interior.ColorIndex = 32 Case Else .Interior.ColorIndex = 0 End Select Exit For End If Next i End With End Sub この例ではセル[A1][B2][C3][C4]に"1","2","3","4"の時にそれぞれ色をつけます
その他の回答 (1)
- taisuke555
- ベストアンサー率55% (132/236)
お礼のマクロは、入力がすべて終わってからマクロを実行するということですね? いいと思います。 「条件付き書式」は、入力した直後に変更するものだと思い(未確認)以下のマクロにしてみました。
お礼
ありがとうございますm(_ _)m 私も色々やってるうちに自分なりの回答を見つけることができました。 こんな感じで… Sub irowake() For Each j In Range("I7:AM71") num = j.Value Select Case num Case Is = "A" j.Interior.ColorIndex = 34 Case Is = "B" j.Interior.ColorIndex = 35 Case Is = "C" j.Interior.ColorIndex = 44 Case Is = "D" j.Interior.ColorIndex = 38 Case Else j.Interior.ColorIndex = 0 End Select Next j End Sub プログラムは初心者同然なので何かおかしい点がありましたら ご指摘よろしくお願いします。