Excel VBA – 包含公式的单元格的条件格式

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

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

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

打印屏幕:

在这里输入图像说明

我认为你的问题是你试图比较一个数值与一个string,因为在E4中的公式结果是一个string。 我build议你用=D4-'09.16'!D4代替这个公式=D4-'09.16'!D4即没有括号的计算。 然后在常规格式中,将用户定义的格式string(0)应用于该单元格。 这意味着价值将被括号包围。 所以你会得到相同的视觉结果,而这个单元格的内部表示仍然是数字。 条件格式中的值的比较应该以这种方式工作。

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

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

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

它所做的是删除括号(将单元格值转换为string),并将该值转换为可与列D中的值进行比较的数字。