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

我目前正在研究做一些不同事情的macros,现在我被困在这个过程的最后部分。

我在桌子旁边有一张桌子和一列,表示桌子的价值应该在的颜色。为了清楚我的意思,我附上了这张照片:

我现在有什么

现在,正如你所看到的那样,列O中的条目指示了B:N中的条目应该是哪种颜色。 例如:O3的值是r。 这意味着C3:E3应该被涂成红色。 下面是macros完成工作后的样子:

它到底应该是什么样子

正如你所看到的那样,这个macros只对那些实际上有一个值/任何值的行中的那些单元格着色是至关重要的。 空单元格不应着色。

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

提前致谢。

你可以尝试这样的事情…

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