使用" if和"声明将特定细胞更改为红色

时间:2016-06-17 09:29:40

标签: vba excel-vba excel

如果一个单元格的日期小于今天的日期,并且另一个单元格为空,我需要帮助提供一个代码,该代码会将特定单元格更改为红色。

例如,如果是细胞" I5"小于今天的日期,如果小区" G5"是空白而不是更改填充单元格" I5"变红了。如果不是,则将填充更改为绿色。并且需要对第I列中的每个单元重复这一过程。

这是我的代码:

With Sheet1
    For Each rCell In .Range("I5", .Cells(.Rows.Count, 9).End(xlUp)).Cells
        If rCell.Value <= Date And Cells(46, 7).Value = "" Then
            rCell.Interior.Color = vbRed
            Else
            rCell.Interior.Color = vbGreen
        End If
    Next rCell
End With

但我不能比这更进一步。

如果有人有任何想法,请告诉我。感谢。

1 个答案:

答案 0 :(得分:2)

单元格(46,7)是固定的,我在下面假设每一行都有G列。 不确定你的&#34;使用Sheet1&#34;。除非您创建了一个名为Sheet1的变量,否则您应该使用表格(&#34; Sheet1&#34;)。下面我将如何做。

With Sheets("Sheet1") ' or with ActiveSheet
    For i = 5 To .Cells(.Rows.Count, 9).End(xlUp).Row
        If .Cells(i, 9).Value <= Date And .Cells(i, 7).Value = "" Then
            .Cells(i, 9).Interior.Color = vbRed
        Else
            .Cells(i, 9).Interior.Color = vbGreen
        End If
    Next i
End With