Excel为值VBA设置不同的填充颜色

时间:2015-07-17 20:32:05

标签: excel excel-vba formatting excel-2010 vba

寻找一种解决方案,将填充颜色分配给包含不同名称的单元格(如果它们在另一列中显示多个值)。我使用Countif公式来识别它们,效果很好。目前我有一个条件格式为公式中的0以上的所有颜色分配填充颜色以填充颜色,但我希望每个不同的值是不同的颜色。在任何给定的文件上可能有1到10个不同的名称,并且它们可以始终是不同的名称。非常感谢。

参考单元RC23的公式

=COUNTIFS(C[-1],RC[-1],C[-20],""<>""&RC[-20])

条件格式化(范围可能看起来很长而且很笨拙,但需要使用其他两个条件,每个条件都会影响不同的单元格,当我离开Range时(_它们停止正常工作。)

Range( _
    "A178:T178,A164:T175,A160,D160:K160,M160:R160,T160,A156:T158,A146:T151,A119:T125,A115:T116,A110:T113,A106:T108,A85:T104,A75:T83,A73:T73,A64:T71,A62:T62,A60:T60,A180:T1048576,A127:T144" _
    ).Select
Range("L:L").Activate
Selection.FormatConditions.Add Type:=xlExpression, Formula1:="=(RC23>0)"
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
With Selection.FormatConditions(1).Interior
    .Pattern = xlLightUp
    .PatternThemeColor = xlThemeColorAccent3
    .ThemeColor = xlThemeColorAccent1
    .TintAndShade = 0.599963377788629
    .PatternTintAndShade = 0.599963377788629    

1 个答案:

答案 0 :(得分:0)

我可以设计的最佳解决方案是根据每个重复值创建一个数字列自动分配。然后为每个数字应用条件格式。如果列以各种颜色返回1-10,我在VBA中编程最多十个重复。 这可以通过一些formula help

实现

对其他建议持开放态度。