繁体   English   中英

使用 COUNT IF 函数将合并的单元格作为一个计数,同时还使用其他 COUNT IF 条件

[英]Counting merged cells as one with the COUNT IF function while also using other COUNT IF criteria

我使用以下 VBA 模块根据单元格颜色使用 COUNT IF 函数计算列中的项目列表:

Function CountCcolor(range_data As range, criteria As range) As Long
    Dim datax As range
    Dim xcolor As Long
xcolor = criteria.Interior.ColorIndex
For Each datax In range_data
    If datax.Interior.ColorIndex = xcolor Then
        CountCcolor = CountCcolor + 1
    End If
Next datax
End Function

但是,我的列表也包含合并的单元格,虽然上述功能有效,但它将合并的单元格计数为构成合并单元格的单元格数(例如,由 3 个常规单元格组成的合并单元格在列表中计为 3 )。 如果可能,我需要一种方法将合并的单元格计数为 1 个单元格,同时仍保持颜色编码计数。

任何帮助将不胜感激,谢谢!

分别处理合并的单元格和未合并的单元格,然后将其全部添加在一起:

Function CountCcolor(range_data As Range, criteria As Range) As Long
    Application.Volatile
    Dim datax As Range
    Dim xcolor As Long
    Set D1 = CreateObject("scripting.dictionary")
    xcolor = criteria.Interior.ColorIndex

    For Each datax In range_data
        If datax.Interior.ColorIndex = xcolor Then
            If datax.MergeCells Then
                D1(datax.MergeArea.Address) = datax.MergeArea.Address
            Else
                CountCcolor = CountCcolor + 1
            End If
        End If
    Next datax

    CountCcolor = CountCcolor + D1.Count
End Function

资料来源: 这里那里

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM