从条件格式语句中计算彩色单元格



所以我要回顾一下昨天的内容:

多列vlookup条件格式

Scott Holtzman提供的条件格式语句一切正常(谢谢Scott!)现在我遇到了一个小问题。我需要计数基于其背景颜色的单个细胞,并有它显示在另一个工作表。我发现了这个:

https://www.ablebits.com/office-addins-blog/2013/12/12/count-sort-by-color-excel/

VBA脚本很好地计数我手动填充的单元格…但它不计算由条件格式函数填充的单元格。有人知道如何解决这个小问题吗??一如既往,任何能提供任何见解的人都会受到赞赏!!:)

不幸的是,没有一种直接的方法/VBA方法或属性可以给出应用了条件格式的单元格的颜色。如你所知,你的默认/手动填充的颜色将被条件格式覆盖。当涉及到条件格式时,单元格可以应用多个条件,这意味着单元格可以使用多种颜色,这是非常动态的。

cColor= rng.FormatConditions(1).Interior.ColorIndex ' Color of formula 1 if true
cColor= rng.FormatConditions(2).Interior.ColorIndex ' Color of formula 2 if true
cColor= rng.FormatConditions(3).Interior.ColorIndex ' Color of formula 3 if true

此外,这些格式条件对象具有优先级值设置,因此可以根据优先级覆盖它们。您可以遍历应用在单元格上的所有条件,并为每个公式查找颜色,

    For i = 1 To rng.FormatConditions.Count
        cColor = rng.FormatConditions(i).Interior.ColorIndex ' Color of formula i
    Next i

但是,这只给出了分配给每个条件的颜色,如何获得应用这些条件的单元格的当前颜色。您必须使用单元格值手动计算条件,以确定单元格的条件是返回真还是假,然后获得相同的颜色。

似乎很难,不是吗?但是,最好用代码来解释,这样可以帮助你得到你想要的。请参考以下链接,

获取显示单元格颜色(无论是否来自条件格式)

条件格式颜色

希望对你有帮助。

最新更新