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的条件格式功能非常强大,有兴趣的朋友可以深入学习。