提问人:David Lachnicht 提问时间:11/17/2023 最后编辑:BigBenDavid Lachnicht 更新时间:11/18/2023 访问量:55
条件格式标题单元格 *IF* 筛选器处于活动状态
Conditional Format Header Cell *IF* Filter Active
问:
好吧,我被难住了?!?!这个修复必须是一个简单的修复,但它逃脱了我。
如果过滤器处于活动/过滤状态,我想更改过滤器的标题单元格的格式。
以前:
后:
搜索了这个网站和其他网站,但nada。
答:
0赞
rotabor
11/17/2023
#1
我开发的解决方案包括 VBA 编码的用户定义函数 IsFiltered、公式和条件格式。首先,添加一个包含以下代码的模块:
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 行。
以上所有参考文献均适用于所示单元格中的数据。根据您的数据位置输入引用。
做。
评论