从条件格式语句中计数有色单元格

所以我从昨天开始重温

多列vlookup条件格式

一切都按照斯科特·霍尔茨曼(Scott Holtzman)提供的条件格式声明(Scott Scott!)的意图工作。 现在我遇到了一个小问题。 我需要根据其背景颜色来计算单个单元格,并将其显示在另一个表格中。 我find了这个:

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

VBA脚本很好地计算我手动填充的单元格,但它不计算由条件格式化函数填充的单元格。 任何人有任何想法如何解决这个小呃? 与往常一样,任何能够提供任何见解的人都会感激不尽! 🙂

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

 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 

但是,这只给出了分配给每个条件的颜色,如何获得应用了这些条件的单元格的当前颜色。 您将不得不手动评估条件的单元格值,以断定单元格的条件返回true还是false,然后获取相同的颜色。

似乎很难,不是吗? 但是,这可以更好地解释代码,可以帮助你得到你想要的。 请参阅下面的链接,

获取显示的单元格颜色(不pipe是否来自条件格式)

条件格式化颜色

希望有所帮助。