Сравнить данные по нескольким столбцам одновременно - 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