突出显示列中的连续值

时间:2014-03-10 09:53:31

标签: excel

我有几个列都有OK[BLANK]Fail(这些结果由公式生成)。注意:这3个结果中的任何一个由4个空白单元分隔。

我希望OK出现超过4次的连续单元格以特殊格式突出显示。如果出现空白单元格,它希望格式化继续查找OK的单元格,但如果出现Fail则停止。失败后,我希望它重新开始计数。

例如,在下面的数组中,只应突出显示连续出现5次的OK值字符串(计数不应被BLANK单元中断)。另请注意,在我的数组中,所有结果(OK[BLANK]Fail)间隔4个空白列。

Fail
OK
OK
OK
Fail
Fail
OK
OK
OK

OK
OK
OK
Fail

非常感谢任何建议。谢谢。

1 个答案:

答案 0 :(得分:0)

试试这个:

Sub check4()
Dim a As Range
Set a = Selection.Cells(1)

For n = 0 To 100
v = a.Offset(n, 0).Value

Select Case v
Case "OK": countOK = countOK + 1
Case "": ign = ign + 1
Case Else
countOK = 0: ign = 0
End Select
Select Case countOK
Case 5
For x = n - (4 + ign) To n
a.Offset(x, 0).Font.Color = ColorConstants.vbRed
Next x
Case Is > 5
a.Offset(n, 0).Font.Color = ColorConstants.vbRed
End Select
Next n
End Sub