Сравнить данные по нескольким столбцам одновременно - VBA

Узнай цену своей работы

Формулировка задачи:

Всем привет, помогите подогнать на сравнение не только по столбцу "А", а по "A:B" следующий пример
сейчас он находит сроку по столбцу "А" лист1 , потом ищет ее на листе 4 в столбце "А" и выделяет если все верно. а у меня данные расположены на А и В...

Решение задачи: «Сравнить данные по нескольким столбцам одновременно»

textual
Листинг программы
Sub NewMain()
    Dim src As Worksheet, i As Long, j As Long, m As Long, n As Long
    Dim srcArr(), dstArr()
    
    Application.ScreenUpdating = False
    Set src = Workbooks("Книга1.xlsx").Worksheets("Лист4")
    
    With src
        m = .Cells(.Rows.Count, 1).End(xlUp).Row
        srcArr() = .Range(.Cells(1, 1), .Cells(m, 2)).Value
        .Range("A:B").Interior.ColorIndex = 6
    End With
    
    With Workbooks("Книга1.xlsx").Worksheets("Лист1")
        n = .Cells(.Rows.Count, 1).End(xlUp).Row
        dstArr() = .Range(.Cells(1, 1), .Cells(n, 2)).Value
        .Range("A:B").Interior.ColorIndex = 6
        i = 1
        Do While i <= n
            j = 1
            Do While j <= m
                If dstArr(i, 1) = srcArr(j, 1) Then
                If dstArr(i, 2) = srcArr(j, 2) Then
                    .Range(.Cells(i, 1), .Cells(i, 2)).Interior.ColorIndex = xlNone
                    src.Range(src.Cells(j, 1), src.Cells(j, 2)).Interior.ColorIndex = xlNone
                End If
                End If
                j = j + 1
            Loop
            i = i + 1
        Loop
    End With
    
    Set src = Nothing
    Application.ScreenUpdating = True
End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4 из 5
Похожие ответы