具有更改值和多个单元格的真实条件格式规则
True Conditional Formatting Rule with changing values and multiple cells
经过几个小时的研究和失败的尝试,我终于决定自己问这个问题。
我想对特定单元格应用 3 组规则,如下所示:
(注意H5为Value,I5为LoLo,J5为Lo,K5为Hi,L5为HiHi)
Red: =OR($H<$I,$H>$L)
Yellow: =OR(AND($H>$K,$H<$L),AND($H<$J,$H>$I))
Green: =AND($H>$J,$H<$K)
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
这 "works" 一次 但这不是实际规则。当宏在 t=0 运行时,它基本上格式化单元格,但在 5 分钟内,即使该值不再满足我的规则,格式也不会改变。
我完全理解为什么它不起作用,但我不知道如何让它起作用。希望我说得足够清楚。
感谢您的帮助!
这可能有效,也可能无效,具体取决于您所说的值更新 "automatically" 时的确切含义,但通常情况下,每当值发生变化时获取宏到 运行 的方法就是把它包裹在Worksheet change事件中。
为此,在 VBA 编辑器的左侧,双击包含此宏需要定位的单元格的 sheet 的名称。您编辑的顶部有两个框window。从左侧的下拉列表中,select "Worksheet",从右侧的下拉列表中,select "Change"。那时,编辑器应该自动填充 Worksheet_Change
子的 shell。将您的代码放在那里将导致它 运行 任何时候工作的价值 sheet 发生变化。
要通过条件格式来做到这一点:
将以下作为三个单独的规则应用于单元格 H5
:
Red: =OR($H5<$I5,$H5>$L5)
Yellow: =OR(AND($H5>$K5,$H5<$L5),AND($H5<$J5,$H5>$I5))
Green: =AND($H5>$J5,$H5<$K5)
请注意行引用前面缺少 $
。
现在您可以使用格式刷将这些规则(及其现在的相关引用)拖到 H 列下方。
经过几个小时的研究和失败的尝试,我终于决定自己问这个问题。
我想对特定单元格应用 3 组规则,如下所示:
(注意H5为Value,I5为LoLo,J5为Lo,K5为Hi,L5为HiHi)
Red: =OR($H<$I,$H>$L)
Yellow: =OR(AND($H>$K,$H<$L),AND($H<$J,$H>$I))
Green: =AND($H>$J,$H<$K)
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
这 "works" 一次 但这不是实际规则。当宏在 t=0 运行时,它基本上格式化单元格,但在 5 分钟内,即使该值不再满足我的规则,格式也不会改变。
我完全理解为什么它不起作用,但我不知道如何让它起作用。希望我说得足够清楚。
感谢您的帮助!
这可能有效,也可能无效,具体取决于您所说的值更新 "automatically" 时的确切含义,但通常情况下,每当值发生变化时获取宏到 运行 的方法就是把它包裹在Worksheet change事件中。
为此,在 VBA 编辑器的左侧,双击包含此宏需要定位的单元格的 sheet 的名称。您编辑的顶部有两个框window。从左侧的下拉列表中,select "Worksheet",从右侧的下拉列表中,select "Change"。那时,编辑器应该自动填充 Worksheet_Change
子的 shell。将您的代码放在那里将导致它 运行 任何时候工作的价值 sheet 发生变化。
要通过条件格式来做到这一点:
将以下作为三个单独的规则应用于单元格 H5
:
Red: =OR($H5<$I5,$H5>$L5)
Yellow: =OR(AND($H5>$K5,$H5<$L5),AND($H5<$J5,$H5>$I5))
Green: =AND($H5>$J5,$H5<$K5)
请注意行引用前面缺少 $
。
现在您可以使用格式刷将这些规则(及其现在的相关引用)拖到 H 列下方。