基于两列之间的比较着色行

时间:2015-05-26 15:18:30

标签: excel vba excel-vba

我正在处理删除几列的Excel宏,调整其他列的大小和格式,然后需要根据列G中两个日期的比较来着色行H。规则必须是G中提到的日期等于或晚于H中的日期然后该行需要获得背景颜色为绿色,如果日期早于4周,则需要将其染成黄色并且任何早于4周的事情都应该涂成红色。

我已尝试使用以下代码实现此目标,遗憾的是我没有使用Excel Macro的经验,所以如果有人有任何帮助,我将不胜感激:

Set DelIndi = Range("H:H")
For Each Cell In DelIndi
    Select Case Cell.Value

        Case Is > Range("G:G").Value
            Cell.EntireRow.Interior.ColorIndex = 4

        Case Is < Range("G:G").Value
            Cell.EntireRow.Interior.ColorIndex = 5

        Case Is = "9999999"
            Cell.EntireRow.Interior.ColorIndex = 3

        'Case Else
            'Cell.EntireRow.Interior.ColorIndex = 4

    End Select

Next

1 个答案:

答案 0 :(得分:0)

这里的格式不是很漂亮,但这样可以正常工作

Sub colorCells()

For i = x To y
    If (Range("G" & i).Value >= Range("H" & i).Value) Then
        Range("G" & i & ":H" & i).Interior.Color = 5287936
    Else

        If (Range("G" & i).Value >= (Range("h" & i).Value - 28)) Then
            Range("G" & i & ":H" & i).Interior.Color = 65535
        Else
            Range("G" & i & ":H" & i).Interior.Color = 255
        End If
    End If
Next i

End Sub

如果显示For i = x to y,请将x更改为要着色的第一行,将y更改为要为其着色的最后一行。请注意,任何空白行都将显示为黄色。