Excel - 形状中的条件格式?

Excel - 形状中的条件格式?

很长一段时间以来,我都认为不可能让形状(例如文本框)具有通过公式设置的值,但事实证明你可以。同样,它出现您无法将条件格式应用于形状(该选项在 Excel 2007 的功能区中显示为灰色);是否有某种秘密方法可以解决此灰色问题,并将条件格式应用于形状?如果答案因不同类型的形状或格式而不同,我专门尝试有条件地将不同的颜色应用于矩形。

我之所以想这样做是因为我们不能针对这种特定情况使用宏。

答案1

不,但你可以假装

你可以假装它,但需要一些设置。除非你需要,否则它会起作用真的大形状。以下是创建nExcel 2010 中的不同条件格式形状。


总结为每个需要的条件使用 1 个额外的单元格和 1 个文本框。每个文本框都设置为显示带有巨大轮廓和阴影的巨型文本,颜色全部相同。额外的单元格设置为仅在值满足条件时才显示文本。


  1. 创造n辅助列将显示为空白,除非值满足正确的条件。下面是一个简单的示例n= 可能有 3 种情况:(我们"888"稍后会解释为什么我使用

    =IF(A1=1,"888","") =IF(A1=2,"888","") =IF(A1=3,"888","")
    不过,现在只需用文本而不是公式来填充辅助列。

  2. 将每个辅助列中的文本颜色格式化为适合该条件

  3. 创建一个正确大小的文本框并输入任意文本(例如“Hello World”)
  4. 按照你喜欢的方式设置边框,但要确保填充No Fill
  5. 右键单击文本,然后单击上下文菜单底部附近的“格式化文本效果...”
  6. 将文本轮廓设置为适合条件 1 的正确颜色的实线
  7. 将轮廓样式设置为 25pt 或其他非常高的
  8. 将阴影设置为外部 > 偏移中心,透明度为 0%,大小为 200%
  9. 复制此文本框n-1次,所以现在你有n全部的
  10. 依次更改每个颜色设置,以满足您的需要
  11. 返回并将每个公式设置为辅助列之一,并确保将其连接到正确的公式
  12. 如果文本框中填写的文本不正确,请返回每个文本框并进行更改
  13. 对于每个文本框,将字体大小设置为 70 或任何需要用颜色完全填充文本框的大小
  14. 一切设置完成后,返回并将辅助列改为公式化。让它们显示占用大量空间的文本,如 8、# 或某些方框符号。
  15. 测试以确保对于每个值,一个文本框显示颜色,其余文本框不显示填充
  16. 堆叠所有文本框(对齐 > 左和对齐 > 顶部可能会有帮助)并将它们分组,这样它们就不会轻易混乱

以下是我制作的模型的一些截图。
请注意,哪个框的颜色会随着值的变化而变化。如果我将它们堆叠起来,它看起来就像一个单一的形状在变色。

值 1

值 2

值 3

答案2

我不确定是否有。在 2007 中,与旧版本的 Excel 一样,FormatConditions 只能应用于范围,而不能应用于形状。

但是,如果我理解的没错,您无法使用宏,那么我不确定您是否能够在后台应用条件格式……如果您可以使用宏/VBA,那么您就不一定需要条件格式;您应该能够运行一个过程来根据需要格式化形状。类似下面的方法应该可以工作,但我猜您已经发现了这一部分:

ActiveWorkbook.ActiveSheet.Shapes(1).Fill.ForeColor.RGB = RGB(0, 0, 255)

如果您想根据工作表中输入的值来格式化形状,那么是的,如果可用的话,使用条件格式会更容易。

相关内容