【发布时间】:2015-10-05 23:36:02
【问题描述】:
经过数小时的研究和失败的尝试,我终于决定自己问这个问题。
我想对特定单元格应用 3 组规则,如下所示:
(注意H5是Value,I5是LoLo,J5是Lo,K5是Hi,L5是HiHi)
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)
在 H 列以绿色显示的值是动态的(每分钟自动变化),而其他值是固定的。
我将向您展示我现在为 Red 编写的 VBA 规则(它不起作用)
Range(CurrentValue_Loc).Select 'CurrentValue_Loc = H5 in this case
If (ActiveCell.Value < Range(LoLo_Loc).Value Or ActiveCell.Value > Range(HiHi_Loc).Value) Then
ActiveCell.Interior.ColorIndex = 3
这个“有效”一次,但这不是一个实际的规则。宏在 t=0 运行时基本上会格式化单元格,但是在 5 分钟内,即使该值不再符合我的规则,格式也不会改变。
我完全理解它为什么不起作用,但我不知道如何使它起作用。希望我已经足够清楚了。
感谢您的帮助!
【问题讨论】:
-
如果您在 t=5min 再次运行宏,它是否正确更新颜色?
-
是的,因为第二条或第三条规则变为 True,因此颜色会更新。如果我不在 t=5 时运行宏,则颜色不会改变。我希望在不再次运行宏的情况下更新颜色。
标签: excel vba formatting conditional