条件格式标题单元格 *IF* 筛选器处于活动状态

Conditional Format Header Cell *IF* Filter Active

提问人:David Lachnicht 提问时间:11/17/2023 最后编辑:BigBenDavid Lachnicht 更新时间:11/18/2023 访问量:55

问:

enter image description here

好吧,我被难住了?!?!这个修复必须是一个简单的修复,但它逃脱了我。

如果过滤器处于活动/过滤状态,我想更改过滤器的标题单元格的格式。

以前:

Before

后:

After

搜索了这个网站和其他网站,但nada。

Excel 筛选器 条件格式

评论


答:

0赞 rotabor 11/17/2023 #1

我开发的解决方案包括 VBA 编码的用户定义函数 IsFiltered、公式和条件格式。enter image description here首先,添加一个包含以下代码的模块:

Public Function IsFiltered(Ref As Range) As Variant
  Dim i As Integer, av As Variant, cnt As Integer
  With Ref.Worksheet.AutoFilter.Filters(Ref.Column _
      - Ref.Worksheet.AutoFilter.Range.Column + 1)
    On Error GoTo NoFilterHndlr
    cnt = .Count
    On Error GoTo 0
    IsFiltered = Ref.Cells(1)
  End With
  Exit Function
NoFilterCode:
  On Error GoTo 0
  IsFiltered = ""
  Exit Function
NoFilterHndlr:
  Resume NoFilterCode
End Function

其次,用公式填写[C8:E8]

=IsFiltered(C9:C40)

其中,将“C9:C40”替换为从标题行开始的数据列的范围。

第三,将标题单元格的条件格式设置为“突出显示单元格规则 - >等于”,然后输入公式“= C $ 8”,考虑到C9是活动单元格。

如果需要,您可以隐藏第 8 行。

以上所有参考文献均适用于所示单元格中的数据。根据您的数据位置输入引用。

做。

enter image description here