从条件格式语句中计算彩色单元格
Counting Colored Cells from a Conditional Formatting statement
所以我从昨天开始重新审视这个:
使用 Scott Holtzman 提供的条件格式化语句,一切都按预期工作(感谢 Scott!)。现在我 运行 遇到了一个小问题。我需要根据背景颜色对单个单元格进行计数,并将其显示在另一个 sheet 中。我发现了这个:
https://www.ablebits.com/office-addins-blog/2013/12/12/count-sort-by-color-excel/
VBA 脚本可以很好地计算我手动填充的单元格...但它不计算由条件格式设置函数填充的单元格。任何人都知道如何解决这个小问题?一如既往,任何能提供任何见解的人都会受到赞赏!! :)
不幸的是,没有直接的方法/VBA 方法或属性可以给出应用了条件格式的单元格的颜色。如您所知,您的 default/manually 填充颜色将被条件格式覆盖。当谈到条件格式时,一个单元格可以应用多个条件,这意味着单元格可以有不止一种颜色,这是非常动态的。
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
但是,这只给出了分配给每个条件的颜色,以及如何获取应用这些条件的单元格的当前颜色。您将必须使用单元格值手动评估条件,以确定单元格 returns 的条件是真还是假,然后获取相同的颜色。
好像很难吧?但是,这可以用代码更好地解释,它可以帮助您获得想要的东西。请参考以下链接,
Get Displayed Cell Color (whether from Conditional Formatting or not)
希望对您有所帮助。
所以我从昨天开始重新审视这个:
使用 Scott Holtzman 提供的条件格式化语句,一切都按预期工作(感谢 Scott!)。现在我 运行 遇到了一个小问题。我需要根据背景颜色对单个单元格进行计数,并将其显示在另一个 sheet 中。我发现了这个:
https://www.ablebits.com/office-addins-blog/2013/12/12/count-sort-by-color-excel/
VBA 脚本可以很好地计算我手动填充的单元格...但它不计算由条件格式设置函数填充的单元格。任何人都知道如何解决这个小问题?一如既往,任何能提供任何见解的人都会受到赞赏!! :)
不幸的是,没有直接的方法/VBA 方法或属性可以给出应用了条件格式的单元格的颜色。如您所知,您的 default/manually 填充颜色将被条件格式覆盖。当谈到条件格式时,一个单元格可以应用多个条件,这意味着单元格可以有不止一种颜色,这是非常动态的。
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
但是,这只给出了分配给每个条件的颜色,以及如何获取应用这些条件的单元格的当前颜色。您将必须使用单元格值手动评估条件,以确定单元格 returns 的条件是真还是假,然后获取相同的颜色。
好像很难吧?但是,这可以用代码更好地解释,它可以帮助您获得想要的东西。请参考以下链接,
Get Displayed Cell Color (whether from Conditional Formatting or not)
希望对您有所帮助。