如何用VBA FormatCondition高亮显示上上周日期?
用VBA条件格式高亮上上周日期
因为Excel的DateOperator确实没有xlLastLastWeek这个内置选项,我们可以改用公式型条件格式来实现需求,具体代码如下:
Range("A2:A100").Select With Selection.FormatConditions.Add(Type:=xlExpression, Formula1:= _ "=AND(A2>=TODAY()-WEEKDAY(TODAY(),2)-13,A2<=TODAY()-WEEKDAY(TODAY(),2)-7)") .Interior.Color = RGB(0, 255, 0) End With
代码逻辑说明:
WEEKDAY(TODAY(),2):将周一设为一周的第1天,返回当前日期是本周的第几天(1=周一,7=周日)- 以此为基础计算出上上周的起止日期:通过
TODAY()减去对应天数,锁定上上周周一到周日的区间 AND函数用来判断单元格日期是否落在这个区间内,满足条件则触发高亮
如果你的Excel默认周日为一周起始,只需把公式里的WEEKDAY(TODAY(),2)改成WEEKDAY(TODAY(),1)即可适配。
内容的提问来源于stack exchange,提问作者hydrangea
相关产品推荐
相关产品推荐

