Выделите строки на основе критериев столбца pf VBA - PullRequest
0 голосов
/ 03 июля 2018

Я пытаюсь написать сценарий VBA для сравнения двух = строк и сделать так, чтобы электронная таблица выделяла дублирующиеся строки только при соблюдении определенных критериев, таких как (Значение строки, столбец a = Значение строки-1, столбец) И Значение строки, столбца b> Значение строки-1, столбца b) Затем всю строку большего значения в столбце b.font.color = vbRed.

Вот часть таблицы, в которой я работаю ...

Выбор таблицы

Вот код, который я использую ...

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 голосов
/ 03 июля 2018

попробуйте правило условного форматирования.

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
...