Сравнить два списка

Весь MS Office, программирование на Visual Basic for Applications и MS VB

Модератор: Naeel Maqsudov

Shangril
Сообщения: 2
Зарегистрирован: 11 мар 2011, 13:14

Всем доброго дня.
Сразу извините за некропост, но эта тема мне показалась наиболее подходящая для моего вопроса.

А как будет выглядеть скрипт при таких условиях:
Есть два массива на двух разных листах (2 столбца и n строк). Необходимо ставнить каждую строчку из таблицы 1, листа 1 с каждой строчкой таблицы 2, листа 2. При совпадении отмечать поле красным.

Заранее благодарен.
nilem
Сообщения: 112
Зарегистрирован: 14 ноя 2008, 01:59
Откуда: Уфа

Вот, например:

Код: Выделить всё

Sub ertert()
Dim x, y, sx As String, sy As String, i As Long, j As Long
With Sheets("Лист1")
    x = .Range("A1:B" & .Cells(Rows.Count, 1).End(xlUp).Row).Value
End With
With Sheets("Лист2")
    y = .Range("A1:B" & .Cells(Rows.Count, 1).End(xlUp).Row).Value
    For i = 1 To UBound(x)
        sx = x(i, 1) & x(i, 2)
        For j = 1 To UBound(y)
            sy = y(j, 1) & y(j, 2)
            If StrComp(sx, sy, 1) = 0 Then .Cells(j, 1).Interior.Color = vbRed
        Next j
    Next i
End With
End Sub
Shangril
Сообщения: 2
Зарегистрирован: 11 мар 2011, 13:14

спасибо огромное.
Ответить