条件格式 - 颜色基于一列缩放整行

Gau*_*hal 13 excel vba conditional-formatting excel-vba

假设我想根据列中的值(使用条件格式菜单中的 excel inbuilt色标选项)对完整行进行着色.我该如何实现这一目标?请参阅下图 在此输入图像描述

oer*_*d88 7

如果我理解正确的话,我一直在和同样的问题作斗争.这是基于一列中的值格式化整行,其中值已通过Excel的颜色标度格式化.

我发现这个真正荒谬简单的解决方法涉及将颜色缩放的单元格复制到单词中,然后再返回到excel,之后您可以删除这些值并用您想要的任何值替换它们而不更改格式:

https://superuser.com/questions/973921/copy-conditional-formatting-3-color-scheme-to-another-tab/973974#973974?newreg=fc5ca6d04a5a406fa39cd4796b6a539e

所有信用均为用户Raystafarian

  • 我不是选民,但这种方法的一个缺点是,当数据发生变化时,它不会自动更新颜色.如果对电子表格进行了更改,以使产品A的利润突然变为12%,则产品A的行仍然是橙色,直到再次执行此变通方法. (3认同)
  • 是的,条件格式的全部要点是它用单元格的值“动态”更新。这个答案完全删除了该功能。 (3认同)

Gau*_*hal 6

我在Mrexcel的Range.DisplayFormat.Interior.Color这篇文章中找到了一个物业。使用此属性,我可以获取条件格式单元格的颜色并将其用于其他行。抓住的是,它仅适用于excel 2010及更高版本。我有excel 2010,所以对我有用。这是确切的代码-

For i = rowStart To rowEnd
    For j = columnStart To columnEnd
        Cells(i, j).Interior.Color = Cells(i, 4).DisplayFormat.Interior.Color
    Next
Next
Run Code Online (Sandbox Code Playgroud)


Ric*_*ica 5

你不需要 VBA 来做到这一点,真的。

这里要记住的一件事是,您将无法使用单个条件格式规则来实现您想要的行为;您必须为每个基于销售的行颜色定义制定单独的规则。第二件事:我发现使用命名范围作为规则而不是常规公式在 Excel 中实现所需的条件格式行为要容易得多。

考虑到这些问题,请按照以下步骤创建命名范围,然后创建条件格式规则。

  1. 首先,选择工作表上的第一个销售单元格(最上面一行)
  2. 接下来,给单元一个名称,“销售”。通过按 Ctl+F3 或从功能区中选择Formulas->Name Manager来执行此操作。然后选择New..。在Name:输入SALESRefers to:输入中=$XN,X 是第一个销售单元格的列,N 是行号。击中Enter
  3. 现在选择您希望展示此行为的整个单元格范围
  4. 选择Home-> Conditional Formatting->New Rule...
  5. 选择Use a Formula to Determine Which Cells to Format并输入=SALES=number数字是您希望触发颜色的销售编号
  6. 选择FormatFill选项卡。现在您需要决定您选择的销售编号的背景颜色。您还可以选择其他格式选项,例如字体颜色等。
  7. 点击OK,OK,OK。为您想要的每个不同的销售数字/颜色组合重复步骤 3 到 6。如果您想要“所有销售额小于 X”的颜色,请在您的规则中输入=SALES<number(< 是“小于”;您也可以执行 <=,即“小于或等于”)。如果希望规则发生在两个数字之间,您可以这样做=AND(SALES<=CEILING, SALES>=FLOOR),其中天花板和地板是上限和下限。如果您想要“所有销售额大于 X”的颜色,您可以执行=SALES>number.

编辑:

为了更轻松地输入条件公式,您可以使用“如果为真则停止”功能。转到Home-> Conditional Formatting-> Manage Rules,然后在下拉菜单中选择This Worksheet。现在,您将看到适用于您的工作表的所有规则的列表,并且每个规则的右侧都会有一个“如果为真则停止”复选框。

对于每行颜色规则,勾选“如果为真则停止”复选框。现在你的公式可以是这样的(只是举例):

  • =Sales>25 对于绿色规则
  • =Sales>10 对于黄色规则
  • =Sales>0 对于红色规则

等等,而不是这样:

  • =AND(Sales>0,Sales<=10) 对于红色规则
  • =AND(Sales>10,Sales<=25) 对于黄色规则
  • =Sales>25 对于绿色规则

Stop If True框意味着一旦将格式规则应用于单元格,该单元格将不会根据适用于它的任何其他规则再次进行格式设置。请注意,这意味着规则的顺序在使用Stop If True.

  • 我试图寻找答案,我从 mrexcel 上的一篇文章中了解到这个属性“Range.DisplayFormat.Interior.Color,它确实给了我条件格式颜色的颜色。谢谢帕默小姐和里克·蒂奇寻求帮助。我应该发布自己的答案吗? (2认同)