我有大约80k行的数据,我需要突出显示差异大于*的任何内容,至少5或者低于它,就像这样。
45.0036
42.18393
42.93399
59.47698
110.91165
113.56624
某些线条之间有空格。每次没有找到一个时,还有什么方法可以旋转突出显示的颜色吗?
答案 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
<强>截图:强>
如果有帮助,请告诉我们。
修改强>
我需要大约4秒才能容纳10万行。
更新了上面的代码,还包括显示运行时的行。
答案 1 :(得分:0)
使用条件格式和Use a formula to determine which cells to format
。单元格A2的公式为=or(abs(a2-a1)>5,abs(a3-a2)>5)
,高亮显示为所选格式。