Excel宏:如何更改范围内行的单元格颜色

时间:2014-10-15 20:14:50

标签: excel vba excel-vba

我有一个C17:W39的范围。我想根据列E中的值使行在灰色或白色范围内。如果音量为实际,我希望该行为灰色,如果值为猜测,我希望该行为白色。我需要它,以便只改变范围内的单元格颜色而不是整行。下面的代码适用于第一行,但我无法弄清楚如何使其循环通过其余的范围。任何帮助,将不胜感激。谢谢。

Sub Color()
    Dim myRange As Range
    Dim cell As Range
    Set myRange = Range("C17:W17")
        For Each cell In myRange
        If cell.Value = "ACTUAL" Then myRange.Interior.ColorIndex = 15
        If cell.Value = "GUESS" Then myRange.Interior.ColorIndex = 0
    Next
End Sub

1 个答案:

答案 0 :(得分:0)

您可以像这样更改代码:

Sub Color()
    Dim myRange As Range
    Dim cell As Range
    Set myRange = Range("E17:E39")
        For Each cell In myRange
        If cell.Value = "ACTUAL" Then
            Range("C" & cell.Row & ":W" & cell.Row).Interior.ColorIndex = 15
        End If
        If cell.Value = "GUESS" Then
            Range("C" & cell.Row & ":W" & cell.Row).Interior.ColorIndex = 0
        End If
    Next
End Sub

这将遍历范围E17:E39中的每个单元格,并将单元格从C列格式化为W,以响应在E列中找到的值。