【问题标题】:Excel setting different fill color for value VBAExcel为值VBA设置不同的填充颜色
【发布时间】:2015-10-07 16:07:58
【问题描述】:

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

参考细胞 RC23 的公式

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

条件格式(范围可能看起来很长而且很尴尬,但因为我使用了另外两个条件,每个条件都会影响不同的单元格,当我离开范围时(_它们停止正常工作。)

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    

【问题讨论】:

  • 您选择了一个大范围的非连续单元格,然后立即将其丢弃为 L:L。你想把条件格式放在哪里? (即Applies to: 的意图是什么?)
  • 我将这种特殊格式应用于 L 列单元格。我正在解析我在 excel 中编写的两个宏以及我在这里得到的很好的建议。我知道这是糟糕的编码,但它确实有效,当我使用那个 Range.Select 其他格式条件时,它会停止正常工作。因此,我正在努力满足我的需求,然后我将寻求清理代码。谢谢

标签: excel formatting excel-2010 vba


【解决方案1】:

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

接受其他建议。

【讨论】:

    猜你喜欢
    • 2017-04-19
    • 1970-01-01
    • 1970-01-01
    • 2013-12-04
    • 1970-01-01
    • 1970-01-01
    • 2018-11-26
    • 2020-02-26
    • 2019-01-16
    相关资源
    最近更新 更多