Сравнение двух столбцов и, если они совпадают, оба столбца должны быть выделены - PullRequest
0 голосов
/ 27 мая 2019

У меня есть две колонки 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

Ответы [ 3 ]

2 голосов
/ 27 мая 2019

проверьте, хотите ли вы это

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

0 голосов
/ 27 мая 2019
  1. Выберите диапазон с данными
  2. Home - Стили - Условное форматирование
  3. Новое правило - используйте формулу, чтобы определить, какие ячейки форматировать
  4. Формат значения, где эта формула верна:

    =$J1=$L1

  5. Формат - Заполнить - выберите цвет

  6. Изменить Применяется к (область, в которой будет применяться форматирование)

Правило:

enter image description here

Результаты:

enter image description here

0 голосов
/ 27 мая 2019

Я думаю, что это желаемый результат:

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

Просто возьмите их отдельно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...