Сравнение диапазонов на НЕ полное совпадение - VBA
Формулировка задачи:
Здравствуйте!
Мне требуется помощь в сравнении двух диапазонов.
Находятся диапазоны на разных листах. На первом листе столбец "А" содержит около 3000 значений. На втором листе столбец А содержит около 180 значений. Необходимо сравнить эти два диапазона на частичное совпадение.
В данном виде макрос выделяет цветом только если ячейки полностью совпадают. Нужно чтобы при значении в первом диапазоне "СОБАКА БЕЛАЯ", а во-втором "СОБАКА" - ячейка первого диапазона все равно реагировала и изменяла цвет. Так как кусок кода я нагуглил, то своими силами пока справиться не могу, а гугл в такой узкоспециальной задаче не подсказывает.
Листинг программы
- Sub Find_Matches()
- Dim CompareRange As Variant, x As Variant, y As Variant
- Set CompareRange = Workbooks("Книга1").Worksheets("Лист2").Range("A1:A180")
- For Each x In Selection
- For Each y In CompareRange
- If x = y Then x.Interior.ColorIndex = 3
- Next y
- Next x
- End Sub
Решение задачи: «Сравнение диапазонов на НЕ полное совпадение»
textual
Листинг программы
- Private Sub Find_Matches()
- Dim CompareRange As Range, x As Range, y As Range
- Set CompareRange = Worksheets("Лист2").Range("A1:A180")
- Application.ScreenUpdating = False 'Имеет смысл использ. если выделено много ячеек
- Selection.Interior.ColorIndex = xlNone
- For Each y In CompareRange
- If Not IsEmpty(y) Then
- For Each x In Selection
- If InStr(1, x, y, vbTextCompare) > 0 Then x.Interior.Color = vbRed
- Next x
- End If
- Next y
- Application.ScreenUpdating = True
- End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д