【问题标题】:Excel VBA - Conditional formatting of cells which contain formulasExcel VBA - 包含公式的单元格的条件格式
【发布时间】:2016-09-22 06:57:14
【问题描述】:

单元格 E4 包含一个公式,该公式计算存储在前一个工作表中的元素数量,然后从该工作表上的总计数元素中减去它们。 例如

  • 上一张表包含 3 个元素
  • 当前工作表包含 0 个元素(请参阅下面的单元格 D4
  • 结果是(-3)(见下面的单元格E4;公式是="(" & D4-'09.16'!D4 & ")"

我想使用条件格式,这样如果单元格E4 中的值小于D4,则文本的颜色应该是红色和绿色(如果该值高于)。可悲的是,这不适用于条件格式,我认为这与单元格E4 包含公式有关。 实际上,从打印屏幕中可以看出,我想将此标准应用于多个单元格。所以比较ED列中的值

打印屏幕:

【问题讨论】:

  • so that if the value in cell E4 is smaller than D4 不应该是F4 而不是E4
  • 如果您将 D4 与 `D4-'09.16'!D4`` 进行比较,这种情况会不会归结为 '09.16'!D4 < 0

标签: excel excel-formula conditional-formatting


【解决方案1】:

我认为您的问题是您尝试将数值与字符串进行比较,因为 E4 中的公式会生成字符串。我建议你用=D4-'09.16'!D4 替换这个公式,即只是没有括号的计算。然后在常规格式中,您将用户定义的格式字符串(0) 应用于该单元格。这意味着该值将被括号括起来。因此,您将获得相同的视觉结果,而该单元格的内部表示仍将是数字。条件格式中的值的比较应该以这种方式进行。

【讨论】:

    【解决方案2】:

    E4 的条件格式可以试试这个公式:

    =VALUE(MID($E4, 2, LEN($E4)-2))<$D4
    

    复制 E4 并将格式粘贴到后续单元格。

    它的作用是删除括号(将单元格值转换为字符串),并将值转换为可以与 D 列中的值进行比较的数字。

    【讨论】:

      猜你喜欢
      • 2014-12-27
      • 1970-01-01
      • 1970-01-01
      • 2022-08-19
      • 2022-11-02
      • 1970-01-01
      • 2017-03-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多