问与答126:如何高亮显示指定日期?

2021-06-01 11:14:48 浏览数 (1)

Q:在列A中是一系列日期,我如何操作,使得含有当天日期的单元格显示为红色,距离当天10天内的日期单元格显示为黄色?

A:可以使用Excel的条件格式功能,也可以使用VBA代码。下面分别介绍。

方法1:条件格式

选择单元格A1,单击功能区“开始”选项卡“样式”组中的“条件格式——新建规则”。在“新建格式规则”对话框中,选择“使用公式确定要设置格式的单元格”,输入公式:

=INT(A1)=TODAY()

单击“格式”按钮,设置“填充”色为红色。如下图1所示,单击“确定”按钮。

图1

同上,仍然选择单元格A1,设置条件格式,公式为:

=AND(INT(A1)>TODAY(),(INT(A1)-TODAY())<11)

设置填充色为黄色,如下图2所示,单击“确定”按钮。

图2

复制单元格A1,将其格式粘贴到列A中其他日期单元格中,结果如下图3所示。

图3

方法2:VBA

运行下面的VBA代码:

代码语言:javascript复制
Sub ApplyConditionFormat()
    Dim lngLastRow As Long
    Dim rng As Range
    lngLastRow = Range("A" &Rows.Count).End(xlUp).Row
    With Range("A1:A" &lngLastRow)
        .FormatConditions.Delete
        .FormatConditions.AddType:=xlExpression, Formula1:="=INT(A1)=TODAY()"
       .FormatConditions(1).Interior.ColorIndex = 3
        .FormatConditions.AddType:=xlExpression,Formula1:="=AND(INT(A1)>TODAY(),(INT(A1)-TODAY())<11)"
       .FormatConditions(2).Interior.ColorIndex = 6
    End With
End Sub

Excel的条件格式功能非常强大,有兴趣的朋友可以深入学习。

vba

0 人点赞