基于Active Cell的条件格式化

问题描述:

我想使用excel的条件格式。我的要求是using conditional formatting如果所选单元格在$ A $ 1:$ D $ 4之间,我想突出显示单元$ A $ 1:$ D $ 4。如果所选单元格在$ A $ 1:$ D $ 4之外,则不应突出显示。其中一个方法是在条件格式写式基于Active Cell的条件格式化

IF(....) 

,使得如果所选择的小区与所述给定的范围相交它应返回true($ A $ 1:$ d $ 4)否则它应该返回false。但是我需要那个公式是什么。

这里是一个有点四围策略:

  1. 定义名称,可以说rActive,并将其设置使用公式=rActive
  2. 添加引用恒定=FALSE
  3. 条件格式所要求的范围工作表选择更改事件
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    ThisWorkbook.Names("rActive").RefersTo = _
    Not Application.Intersect(ActiveCell, [A1:D4]) Is Nothing
    End Sub

结果:ra nge根据名称rActive的值进行有条件格式化。
rActive每次更改选定单元格时都会更新事件。

+0

谢谢克里斯。但我不想使用任何VBA代码。是否有任何方法通过不使用VBA代码,只是直接的公式我可以实现这一点。 – 2012-08-16 07:32:48

+0

如果不使用VBA,我无法找到可行的解决方案。我确实使用旧的XL4宏命令'GET.CELL'关闭了,但我无法通过强制重新进行表单更新来更新选择。 – 2012-08-16 08:15:23