具有更改值和多个单元格的真实条件格式规则

时间:2015-07-16 13:30:08

标签: excel vba formatting conditional

经过数小时的研究和尝试失败,我终于决定自己提出这个问题了。

我想将3组规则应用于特定单元格,如下所示:

(注意H5是值,I5是LoLo,J5是Lo,K5是Hi,L5是HiHi)

article {
    display: inline-block;
}

You are seeing this 5th column

H列中以绿色显示的值是动态的(每分钟自动更改),而其他值则是固定的。

我将向您展示我现在为Red写的VBA规则(它不起作用)

Red: =OR($H$5<$I$5,$H$5>$L$5)
Yellow: =OR(AND($H$5>$K$5,$H$5<$L$5),AND($H$5<$J$5,$H$5>$I$5))
Green: =AND($H$5>$J$5,$H$5<$K$5)

这“工作”一次,但这不是一个实际的规则。当宏在t = 0时运行时,它基本上格式化单元格,但在5分钟内,即使该值不再符合我的规则,格式也不会改变。

我完全理解为什么它不起作用,但我不知道如何使它工作。希望我足够清楚。

感谢您的帮助!

2 个答案:

答案 0 :(得分:1)

通过条件格式化执行此操作: 将以下三个单独的规则应用于单元格Iterable

Set

aggregateByKey

H5

请注意行引用前面缺少Red: =OR($H5<$I5,$H5>$L5)。 现在,您可以使用format painter将这些规则(及其现在的相对引用)拖到H列。

答案 1 :(得分:0)

这可能有效,也可能不行,具体取决于您说“值自动”更新时的含义,但通常情况下,每当值更改时让宏运行的方法是将其包装在Worksheet更改中事件

要执行此操作,请在VBA编辑器的左侧双击包含此宏需要定位的单元格的工作表名称。编辑窗口顶部有两个框。从左侧下拉列表中选择“工作表”,从右侧的选项中选择“更改”。此时,编辑器应自动填充Worksheet_Change sub的shell。将代码放在那里将导致它在工作表上的值发生任何变化时运行。