У меня есть две колонки J и L.
Если значение столбца J совпадает с соответствующим значением столбца L, обе ячейки должны быть выделены красным цветом.
Я новичок в этом Excel. Я не могу разработать этот макрос.
Я попробовал приведенный ниже код, но он выделяет столбцы J, K и L, если он совпадает. Я хочу, чтобы были выделены только столбцы J и K, а также этот макрос должен начать проверку с J11 и L11.
Sub test()
Dim LastRow As Long, i As Long
Dim arr As Variant
With ThisWorkbook.Worksheets("Sheet1")
LastRow = .Cells(.Rows.Count, "J").End(xlUp).Row
arr = .Range("J2" & ":L" & LastRow)
For i = LBound(arr) To UBound(arr)
If arr(i, 1) = arr(i, 3) Then
.Range("J" & i + 1 & ":L" & i + 1).Interior.Color = vbRed
End If
Next i
End With
End Sub
Я думаю, что это желаемый результат:
Sub test()
Dim LastRow As Long, i As Long
Dim arr As Variant
With ThisWorkbook.Worksheets("Sheet1")
LastRow = .Cells(.Rows.Count, "J").End(xlUp).Row
arr = .Range("J2" & ":L" & LastRow)
For i = LBound(arr) To UBound(arr)
If arr(i, 1) = arr(i, 3) Then
.Range("J" & i + 1).Interior.Color = vbRed
.Range("L" & i + 1).Interior.Color = vbRed
End If
Next i
End With
End Sub
Просто возьмите их отдельно.
проверьте, это то, что вы хотите
Sub test()
Dim LastRow As Long, i As Long
Dim arr As Variant
With ThisWorkbook.Worksheets("Sheet1")
LastRow = .Cells(.Rows.Count, "J").End(xlUp).Row
arr = .Range("J11" & ":L" & LastRow)
For i = LBound(arr) To UBound(arr)
If arr(i, 1) = arr(i, 3) Then
.Range("J" & i + 10 & ":J" & i + 10).Interior.Color = vbRed
.Range("L" & i + 10 & ":L" & i + 10).Interior.Color = vbRed
End If
Next i
End With
End Sub
он начинает проверку с 11 строки
Отформатируйте значения, где эта формула верна:
=$J1=$L1
Формат - Заливка - выберите свой цвет
Изменение применяется к (область, к которой будет применяться форматирование)
Правило:
Результаты:
Есть опция условного форматирования для поиска дубликатов. Может ли это быть полезным для вас?