高亮显示基于pf列条件的行VBA

时间:2018-07-03 17:38:28

标签: excel vba duplicates

我试图编写一个VBA脚本以比较两行=并让电子表格仅在满足某些条件的情况下突出显示重复的行,例如((行的值,列a =行1的值,列)AND值行,列b>行1,列b的值),然后列b.font.color = vbRed中较大值的整个行。

这是我正在运行的表的一部分...

Table Selection

这是我正在使用的代码...

Sub RemoveDuplicates()

Dim i As Long, R As Long
'Dim DeviceName As Range, SerialNumber As Range, LastContact As Range

Application.ScreenUpdating = False

R = Cells(Rows.Count, 1).End(xlUp).Row

'Set DeviceName = Columns(2)
'Set SerialNumber = Columns(3)
'Set LastContact = Columns(7)

For i = R To 2 Step -1

'If Cells(i, "F").Value > Cells(i - 1, "F").Value Then
'Code above doesn't work

If Cells(i, 3).Value = Cells(i - 1, 3).Value And Cells(i, 2).Value = Cells(i - 1, 2).Value Then

    'If Cells(i, 3).Value = Cells(i - 1, 3).Value And Cells(i, 2).Value = Cells(i - 1, 2).Value And Cells(i, 5).Value > Cells(i - 1, 5).Value Then
    'Code above doesn't work

    Cells(i, 1).EntireRow.Font.Color = vbRed
    End If
Next i

Application.ScreenUpdating = True

End Sub

我可以突出显示重复项,但是当我尝试引入大于校验时,系统变得混乱。

enter image description here

1 个答案:

答案 0 :(得分:0)

尝试条件格式规则。

With worksheets("sheet1").usedrange.offset(1, 0).entirerow
    .FormatConditions.Delete
    With .FormatConditions.Add(Type:=xlExpression, Formula1:="=and($a2=$a1, $b2=$b1, $f2>$f1)")
        .font.Color = vbRed
    End With
End With