EXCEL如何用公式(VBA宏)统计带颜色的单元格(有下拉列表,下拉选项按条件格式设置不同底纹)个数?

EXCEL如何用公式(VBA宏)统计带颜色的单元格(有下拉列表,下拉选项按条件格式设置不同底纹)个数?
网上找的代码如下:
1、电脑打开要获取单元格颜色的表格。
2、打开表格后,Alt+F11进入宏,点击插入模块。
3、点击插入模块后输入代码
Function SUMColor(rag1 As Range, rag2 As Range)
Application.Volatile
For Each i In rag2
If i.Interior.ColorIndex = rag1.Interior.ColorIndex Then
SUMColor = SUMColor + 1
End If
Next
End Function。
存在问题:以上代码统计手动填充的底纹颜色是有效的,但是我的单元格设置了下拉选项,下拉选项通过条件格式分别设置了不同的底纹颜色,选择不同下拉选项就有不同底纹颜色,这个时候,这组代码就不生效了,只默认统计初始单元格填充的底纹颜色。请问各位专业人士能不能魔改代码或其它办法?
我使用的是WPS2019专业版

我查了一下相关资料,帮你整理了一下,部分内容来自GPT,你试一下是否可以解决问题:
要统计带有不同底纹颜色的单元格,包括通过条件格式设置的和通过下拉列表选择设置的底纹颜色,您可以使用以下方法:

首先,在 Excel 中按下 Alt + F11 进入 VBA 编辑器,在工程资源管理器中找到您所需的工作表,并双击打开。

然后,在 VBA 编辑器中插入一个新模块,将以下代码复制粘贴到模块中:

Function CountColoredCells(rng As Range) As Long
    Dim cell As Range
    Dim count As Long
    count = 0
    
    For Each cell In rng
        If cell.DisplayFormat.Interior.Color <> xlNone Then
            count = count + 1
        End If
    Next cell
    
    CountColoredCells = count
End Function

保存并关闭 VBA 编辑器。

现在,您可以在 Excel 工作表中使用公式 =CountColoredCells(A1:A10) 来统计 A1:A10 范围内带有底纹颜色的单元格数量。

这个公式会遍历指定范围内的每个单元格,并检查其显示格式的底纹颜色。无论是通过手动填充还是通过条件格式设置或下拉列表选择设置,只要单元格的底纹颜色不是默认的 "无"(xlNone),该单元格就会被计入统计。

请注意,此代码仅考虑单元格的底纹颜色,不包括字体颜色或其他格式。如果您还需要统计其他格式,请相应地修改代码。

希望这可以帮助到您!