在Excel中,如果两个单元格之间的差异大于或小于5,则需要单元格突出显示

时间:2014-02-13 21:49:26

标签: excel if-statement

我有大约80k行的数据,我需要突出显示差异大于*的任何内容,至少5或者低于它,就像这样。

  • 45.0036

  • 42.18393

  • 42.93399

  • 59.47698

  • 110.91165

  • 113.56624

某些线条之间有空格。每次没有找到一个时,还有什么方法可以旋转突出显示的颜色吗?

2 个答案:

答案 0 :(得分:1)

试试这个:

Sub HighlightLTGT5()

    Dim RngTarget As Range, Cell As Range
    Dim ColorIndex As Integer
    Dim DiffValOne As Double, DiffValTwo As Double

    Set RngTarget = Range("A1:A100000")
    ColorIndex = 4

    Start = Timer()
    Application.ScreenUpdating = False
    On Error Resume Next
    For Each Cell In RngTarget
        If Not IsEmpty(Cell) Then
            DiffValOne = Abs(Cell.Offset(-1, 0).Value - Cell.Value)
            DiffValTwo = Abs(Cell.Offset(1, 0).Value - Cell.Value)
            If DiffValOne <> 5 Or DiffValTwo <> 5 Then
                Cell.Interior.ColorIndex = ColorIndex
            Else
                Cell.Interior.ColorIndex = vbNone
            End If
        Else
            If ColorIndex = 4 Then
                ColorIndex = 3
            Else
                ColorIndex = 4
            End If
        End If
    Next Cell
    On Error GoTo 0
    Application.ScreenUpdating = True
    Debug.Print Timer() - Start

End Sub

<强>截图:

enter image description here

如果有帮助,请告诉我们。

修改

我需要大约4秒才能容纳10万行。

enter image description here

更新了上面的代码,还包括显示运行时的行。

答案 1 :(得分:0)

使用条件格式和Use a formula to determine which cells to format。单元格A2的公式为=or(abs(a2-a1)>5,abs(a3-a2)>5),高亮显示为所选格式。