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

Excel VBA - Conditional formatting of cells which contain formulas

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

我想使用条件格式,以便如果单元格 E4 中的值小于 D4,则文本的颜色应为红色,如果该值高于该值,则文本的颜色应为绿色。遗憾的是,这不适用于条件格式,我认为这与单元格 E4 包含公式这一事实有关。 实际上,正如在打印屏幕中所见,我想将此标准应用于多个单元格。因此比较 ED

列中的值

打印屏幕:

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

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

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

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

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