Excel VBA выделить ячейку, где строки и столбцы совпадают с 2 листами - PullRequest
0 голосов
/ 18 октября 2018

Листы, которые у меня есть

Привет всем, у меня есть два столбца в sheet1 с несколькими строками и одинаковыми столбцами в sheet2, но в sheet2 значения 2-го столбца становятся заголовками столбцов, я хочувыделить ячейку в sheet2, где значения совпадают с sheet1.Спасибо заранее, я надеюсь, что это ясно.Скриншоты также прилагаются.Я пишу следующий код, но это не работает правильно.Спасибо за помощь

Public Sub test3()

Dim rng As Range
Dim aNumber As Range
Dim bNumber As Range
Dim rng2 As Range
Dim LastColumn As Long
Dim iRow As Long
Dim iCol As Long
Set rng = Sheets("Sheet2").Range("B2:B" & Range("B" & Rows.Count).End(xlUp).row)
LastColumn = Sheets("Sheet2").Range("D1").CurrentRegion.Columns.Count
Set rng2 = Sheets("Sheet2").Range(Cells(1, 1), Cells(1, LastColumn))
'MsgBox rng2.Address
For iRow = 2 To 6 'this i need last row count
For iCol = 2 To 6 ''this i need last row count
    Set aNumber = Sheets("Sheet1").Cells(iRow, 1) 'Row, Column Searching A
    Set bNumber = Sheets("Sheet1").Cells(iCol, 2) 'Row, Column Searching B

    If Application.WorksheetFunction.CountIf(rng, aNumber) > 0 Then
    If Application.WorksheetFunction.CountIf(rng2, bNumber) > 0 Then

        ColNum = Application.WorksheetFunction.Match(bNumber, rng2, 0)
        RowNum = Application.WorksheetFunction.Match(aNumber, rng, 0)
        'MsgBox (RowNum + 1)
        'MsgBox (ColNum)
        Sheets("Sheet2").Cells(RowNum + 1, ColNum).Interior.Color = vbGreen
    Else
        'MsgBox aNumber & " does not exist in range " & rng.Address
    End If
    End If
Next iCol
Next iRow
End Sub

1 Ответ

0 голосов
/ 18 октября 2018

С помощью вспомогательного столбца C (=CONCAT($A2,$B2)) вы можете сделать это с помощью условного форматирования.

Настройте вспомогательный столбец:

enter image description here

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

Правило:

=IF(ISERROR(INDEX($C$3:$C$8,MATCH(CONCAT($E3,F$2),$C$3:$C$8,0))),FALSE,TRUE)

Относится к диапазону:

=$F$3:$K$8

Возможно, потребуется настроитьэти диапазоны, но это работало для меня:

enter image description here

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