2017-04-04 15 views
1

現在、私はいくつかの異なることを行うマクロで作業しています。VBA Excel - 別のセルの値に基づいて値を含む行の各セルを塗りつぶし

私は、テーブルとテーブルの値がであるべき色を示し、そのテーブルの横に1列を持っている私は、私はこの写真を添付し​​ています何を意味するか、それを明確にするには:。

What I currently have

をご覧のように、列Oには、B:Nの項目がどの色で表示されるべきかを示す項目があります。たとえば、O3の値はrです。これは、C3:E3が赤色に着色されるべきであることを意味する。あなたはそれが非常に重要である見ることができるように

What it should look like in the end

そのマクロ色のみ、実際値/任意の値を持つ行でこれらの細胞:ここではマクロがそれの仕事をした後に、それはのようになります方法です。空のセルは着色してはいけません。

この点に関するお手伝いをさせていただきます。

ありがとうございます。あなたはこのような何かを試すことが

答えて

1

...魔法のように

Sub ApplyInteriorColor() 
Dim rng As Range 
Dim lr As Long, i As Long 
Dim clr As Long 
clr = vbRed 
lr = Cells(Rows.Count, 1).End(xlUp).Row 
Range("B3:N" & lr).Interior.ColorIndex = xlNone 
If lr > 2 Then 
    For i = 3 To lr 
     Set rng = Range(Cells(i, 2), Cells(i, "N")) 
     If Application.CountA(rng) > 0 And Cells(i, "O") <> "" Then 
      Select Case Cells(i, "O").Value 
       Case "r'" 
        clr = vbRed 
       Case "b" 
        clr = vbBlue 
       Case "y" 
        clr = vbYellow 
      End Select 
      rng.SpecialCells(xlCellTypeConstants, 3).Interior.Color = clr 
     End If 
    Next i 
End If 
End Sub 
+0

作品。どうもありがとうございました。 –

+0

あなたは大歓迎です。それがうれしかった。 – sktneer

関連する問題