Excel で4個以上の値をセルに入力し、値ごとに別のセルの色を変える。
この記事は自分用の覚え書きです。
Kさんへ。言ってたことはこれでできます。もっと簡素化できるはず。けど、僕にはこれが精一杯。ごめんなさい。
WindowsXP Pro SP3 上の Excel2002 で動作確認してます。
■エクセルでセルの値によって別のセルの背景色を変える。
・条件となる値は4つ以上ある。1~9。
・B14に1~9のどれか1つの値を入力する。
・入力された値によって、B13のセルの背景色が指定した色に変わる。
・B17に1~9のどれか1つの値を入力する。
・入力された値によって、B16のセルの背景色が指定した色に変わる。
・同じ理屈の動きをCとDの列でも行うので、値を入力するセルは1行に複数個ある。
・背景色の数も9色。
・1~9以外の数値、あるいは何も入力していなければ背景色を指定したセルは無色にする。
・1~9の数値を入れてからマクロを実行するというのではなく、数値を入力するたびに、数値を入れたセルの1つ上のセルの背景色が自動的に変わるようにする。
1.シートの「コードの表示」で次のプロシージャーを入力する。
Private Sub Worksheet_Change(ByVal Target As Range)
B14_B13
B17_B16
C14_C13
C17_C16
D14_D13
D17_D16
End Sub
2.同じく「コードの表示」で、入力用のセルに値を指定し、背景色を変えるセルの色を指定する。
Sub B14_B13()
If Range("B14") = 1 Then
Range("B13").Interior.ColorIndex = 6
ElseIf Range("B14") = 2 Then
Range("B13").Interior.ColorIndex = 44
ElseIf Range("B14") = 3 Then
Range("B13").Interior.ColorIndex = 4
ElseIf Range("B14") = 4 Then
Range("B13").Interior.ColorIndex = 36
ElseIf Range("B14") = 5 Then
Range("B13").Interior.ColorIndex = 34
ElseIf Range("B14") = 6 Then
Range("B13").Interior.ColorIndex = 39
ElseIf Range("B14") = 7 Then
Range("B13").Interior.ColorIndex = 43
ElseIf Range("B14") = 8 Then
Range("B13").Interior.ColorIndex = 3
ElseIf Range("B14") = 9 Then
Range("B13").Interior.ColorIndex = 48
Else
Range("B13").Interior.ColorIndex = 0
End If
End Sub
Sub B17_B16()
If Range("B17") = 1 Then
Range("B16").Interior.ColorIndex = 6
ElseIf Range("B17") = 2 Then
Range("B16").Interior.ColorIndex = 44
ElseIf Range("B17") = 3 Then
Range("B16").Interior.ColorIndex = 4
ElseIf Range("B17") = 4 Then
Range("B16").Interior.ColorIndex = 36
ElseIf Range("B17") = 5 Then
Range("B16").Interior.ColorIndex = 34
ElseIf Range("B17") = 6 Then
Range("B16").Interior.ColorIndex = 39
ElseIf Range("B17") = 7 Then
Range("B16").Interior.ColorIndex = 43
ElseIf Range("B17") = 8 Then
Range("B16").Interior.ColorIndex = 3
ElseIf Range("B17") = 9 Then
Range("B16").Interior.ColorIndex = 48
Else
Range("B16").Interior.ColorIndex = 0
End If
End Sub
3.CとD列についても同様のプロシージャーを書く。
上記のBの文字を、CあるいはDに書き換える。
以上
| 固定リンク
コメント