You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用NB.SI.ENS(COUNTIFS)设置条件格式无效,求助VBA高亮实现

解决条件格式无效问题及VBA实现方案

一、修正条件格式公式

你用NB.SI.ENS(COUNTIFS)的思路错了——这个函数是统计符合条件的单元格数量,返回的是数字,而条件格式需要的是布尔判断结果(真/假)。直接用逻辑判断函数就能搞定:

选中需要设置格式的范围(比如C2:C10),设置条件格式的公式规则为:

ET(C2=""; B2<AUJOURDHUI())
  • ET() 对应英文的AND(),同时满足两个条件:
    1. 当前行的Paid列单元格(C2)为空
    2. 当前行的到期日(B2)早于今日日期(AUJOURDHUI())

设置好后,满足条件的单元格就会被高亮。

二、VBA宏代码实现

以下是直接实现上述条件格式规则的VBA代码,运行后会自动给C2:C10添加规则:

Sub AddConditionalFormatting()
    Dim ws As Worksheet
    Dim targetRange As Range
    Dim cfRule As FormatCondition
    
    ' 设置目标工作表(可根据实际修改,比如Sheet1)
    Set ws = ThisWorkbook.Worksheets("Sheet1")
    ' 设置目标范围
    Set targetRange = ws.Range("C2:C10")
    
    ' 清除原有同类型规则(可选,避免重复)
    targetRange.FormatConditions.Delete
    
    ' 添加新的条件格式规则
    Set cfRule = targetRange.FormatConditions.Add(Type:=xlExpression, Formula1:= _
        "=ET(C2=""""; B2<AUJOURDHUI())")
    
    ' 设置高亮格式(这里用浅红填充,可按需修改)
    With cfRule.Interior
        .PatternColorIndex = xlAutomatic
        .Color = 13551615
        .TintAndShade = 0
    End With
    
    ' 设置字体格式(可选)
    cfRule.Font.Bold = True
End Sub

代码说明:

  • 先指定目标工作表和范围,清除原有规则避免冲突
  • 添加基于公式的条件格式,公式用法语逻辑判断
  • 设置填充颜色和字体样式,可根据需求调整颜色值或格式

内容的提问来源于stack exchange,提问作者lagnaoui jihane

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 21:27:14