我目前正在开发一个宏,它做了一些不同的事情,现在我被困在这个过程的最后一部分。
我在桌子旁边有一张桌子和一列,表示桌子的颜色应该是的颜色。为了清楚我的意思,我附上这张图片:
现在,正如您所看到的,O列中有条目表示B:N中的条目应该是哪种颜色。例如:O3的值是r。这意味着C3:E3应该涂成红色。以下是在宏完成它之后它应该是什么样子:
正如您所看到的那样,宏只对那些实际上具有值/任何值的行中的单元格进行着色是至关重要的。空单元格不应着色。
非常感谢这方面的任何帮助!
提前致谢。
答案 0 :(得分: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