VBA Excel - 在包含基于另一个单元格值的值的行中着色每个单元格

问题描述:

我目前正在研究一些执行一些不同操作的宏,并且现在我被锁定在该过程的最后部分。VBA Excel - 在包含基于另一个单元格值的值的行中着色每个单元格

我有一个表,该表显示的颜色表的值应该是在旁边的一张桌子和一列要清楚明白我的意思,我这幅画连接:

What I currently have

现在,正如你所看到的,列O中有条目表明B:N中的条目应该是哪种颜色。例如:O3的值是r。这意味着C3:E3应该涂成红色。下面是它应该如何看起来像宏已经做了工作后:

What it should look like in the end

正如你可以看到它是至关重要的宏观只有颜色的细胞中的行里面居然有一个值/任意值。空单元格不应着色。

在这方面的任何帮助将非常感谢!

在此先感谢。

你可以试试这样的事情...

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

就像一个魅力。非常感谢你。 D. Todor! –

+0

不客气!很高兴它的工作。 – sktneer