根据特定单元格中小于或等于的值累计突出显示单元格

根据特定单元格中小于或等于的值累计突出显示单元格

我觉得这是可能的,但是我无法使用条件格式使任何东西工作,并且不太确定在 VBA 中该采取什么方向。

我想突出显示一行中的单元格,从 N2 到 AN2,如果该单元格加上前面的单元格的值小于或等于另一个单元格 C2 的值,则显示绿色。

如果 C2 为 1,000,我希望 300 处的 N2 以绿色突出显示(累计总数 300),600 处的 O2 以绿色突出显示(累计总数 900),100 处的 P2 以绿色突出显示(累计总数 1,000),并且 150 处的 Q2 不突出显示,因为它加上前面的单元格的累计值为 1,150,高于参考单元格中的 1,000。

可以通过条件格式来实现这一点吗?或者我应该在 VBA 中做什么才能实现这一点?

谢谢。

答案1

假设单元格 M2 为空,则您想要突出显示小于或等于 C2 中的值减去从 M2 开始的此单元格左侧单元格总和的任何单元格。您可以使用条件格式使用公式

=$C$2-SUM($M2:M2)

选择要格式化的范围(N2:AN2)并设置条件格式,如下所示:

在此处输入图片描述

如果单元格 M2 不为空,您仍然可以完成此操作,但需要在条件格式规则中使用稍微复杂一些的公式:

=$C$2+N2-SUM($N2:N2)

答案2

我使用了对话框中介绍的最后一种机制:使用公式来决定要格式化的内容。公式是=SUM($N2:N2)<=$C2,经过思考,人们就会发现,这正是Blackwood不同机制中所做的。只是我从 N 列开始,而不是 M 列。

对我来说,问题在于它突出显示了所有四个示例单元格。不仅是 N:P,还有 N:Q。我看不出有什么原因。我将其限制为 N2,然后将其复制并粘贴到其他单元格上,直到 Q2。没有成功。有点陷入僵局。

然后我将其限制为 N2,复制 N2,然后粘贴到其他单元格。不仅是格式,还有粘贴的值等等。编辑回值,它就起作用了。就像它应该的那样。

好的,虽然有点讨厌,但这是可行的。但是……我在第 3 行进行了实验。将 N2 复制到 N3,然后开始。

第一次尝试就成功了。输入给定的其他值,然后尝试复制 N3 并将格式粘贴到其他单元格。成功了。完美,尽管在第 2 行的第一次尝试中没有成功。

我对此没有任何解释,除了……没有……没有解释。就是没有。关闭文件并在新文件中再次执行此操作,结果发生了同样的事情。顺便说一句,我现在是 2022 年,使用的是 2205 版本,因此,虽然可以合理地认为,无论我遇到的原因是什么,都与 OP 或Bandersnatch他的 Mac 版本相同,但自那以后的四年里发生了很多变化,这可能是巧合。

相关内容