Excel VBA条件格式(如果小于今天)

Excel VBA条件格式(如果小于今天),excel,vba,Excel,Vba,如果单元格的日期值小于今天,我想用VBA将单元格变成红色。它还应该寻找空白单元格日期,不要触摸它。我不想使用条件格式而不是VBA,我希望它使用宏 Sub ChangeColor() Dim rCell As Range With Sheet1 For Each rCell In .Range("$C$2:$AG$27", .Cells(.Rows.Count, 11).End(xlUp)).Cells If rCell.Value &g

如果单元格的日期值小于今天,我想用VBA将单元格变成红色。它还应该寻找空白单元格日期,不要触摸它。我不想使用条件格式而不是VBA,我希望它使用宏

Sub ChangeColor()

    Dim rCell As Range

    With Sheet1
        For Each rCell In .Range("$C$2:$AG$27", .Cells(.Rows.Count, 11).End(xlUp)).Cells
            If rCell.Value > Date Then
                rCell.Interior.Color = vbRed
            Else
                rCell.Interior.Color = vbGreen
            End If
        Next rCell
    End With

End Sub
好的,试试看

代码将对包含今天日期之前日期的单元格应用红色内部颜色。 它不会接触任何其他细胞

Sub ChangeColor()
    Dim rCell As Range
    With Sheet1
        For Each rCell In .Range("$C$2:$AG$27", .Cells(.Rows.Count, 11).End(xlUp)).Cells
            If rCell <> "" And IsDate(rCell) And rCell.Value < Date Then
                rCell.Interior.Color = vbRed
            End If
        Next rCell
    End With
End Sub

欢迎来到SO。在这个网站上,花点时间阅读并整合这些信息将有助于获得真正的帮助。如你所写,你只是告诉了我们一些信息。毫无疑问,也没有任何代码不起作用。为什么要使用VBA而不是内置的条件格式?只要可能,使用内置工具几乎总是更好的。此外,这不是一个代码编写服务,我们帮助您纠正代码中遇到的错误或问题,因此请提供您迄今为止尝试过的内容以及不起作用的内容。如果你只是想从一个地方开始,请查看对象,特别是Range.Interior.ColorIndex方法检查顶部请忘记附加代码现在告诉我们代码在做什么,这是不正确的。什么错误和在哪一行?对于日期和货币,始终使用Value2更改为`rCell.Value2