Добрый вечер! Подскажите, пожалуйста, как выделить дубли на первом листе1, просматривая значения на втором листе2. Значение "Петя" в приложенном примере тоже должно выделиться. Код внутри, но не рабочий... Подскажите, пожалуйста, как надо.
Добрый вечер! Подскажите, пожалуйста, как выделить дубли на первом листе1, просматривая значения на втором листе2. Значение "Петя" в приложенном примере тоже должно выделиться. Код внутри, но не рабочий... Подскажите, пожалуйста, как надо.ant6729
Здравствуйте! Ну почему же нерабочий? У меня все сработало. А "Петя" не выделяется потому, что на первом листе после "Петя" пробел есть. Уберите его, и Петя тоже посинеет
Здравствуйте! Ну почему же нерабочий? У меня все сработало. А "Петя" не выделяется потому, что на первом листе после "Петя" пробел есть. Уберите его, и Петя тоже посинеет _Igor_61
Нет... не получится Если значение "Петя" сместить на листе1 в ячейку А19 Перезапуститься - ничего не сработает. Сработает параллельно только до конца списка на листе2 Возмжоно, нужен step снизу вверх...я затрудняюсь прописать Как это обойти, подскажите, пожалуйста.
Нет... не получится Если значение "Петя" сместить на листе1 в ячейку А19 Перезапуститься - ничего не сработает. Сработает параллельно только до конца списка на листе2 Возмжоно, нужен step снизу вверх...я затрудняюсь прописать Как это обойти, подскажите, пожалуйста.ant6729
Сообщение отредактировал ant6729 - Среда, 03.05.2017, 23:29
Вы ищете на листе 2 только прямые соответствия - если значения в лист1 строка i равно значению лист2 строка i Так нужно было? (далеко не самый оптимальный по быстродействию (даже, скорее, один из самых медленных), но зато понятный, код) [vba]
Код
Sub rrr() lr1 = Sheets("Лист1").Cells(Rows.Count, 1).End(xlUp).Row lr2 = Sheets("Лист2").Cells(Rows.Count, 1).End(xlUp).Row For i = 1 To lr1 For j = 1 To lr2 If Sheets("Лист1").Cells(i, 1).Value = Sheets("Лист2").Cells(j, 1).Value Then Sheets("Лист1").Cells(i, 1).Interior.Color = RGB(204, 204, 255) End If Next j Next i End Sub
[/vba]
Вы ищете на листе 2 только прямые соответствия - если значения в лист1 строка i равно значению лист2 строка i Так нужно было? (далеко не самый оптимальный по быстродействию (даже, скорее, один из самых медленных), но зато понятный, код) [vba]
Код
Sub rrr() lr1 = Sheets("Лист1").Cells(Rows.Count, 1).End(xlUp).Row lr2 = Sheets("Лист2").Cells(Rows.Count, 1).End(xlUp).Row For i = 1 To lr1 For j = 1 To lr2 If Sheets("Лист1").Cells(i, 1).Value = Sheets("Лист2").Cells(j, 1).Value Then Sheets("Лист1").Cells(i, 1).Interior.Color = RGB(204, 204, 255) End If Next j Next i End Sub
Наверное это потому что макрос сравнивает каждую ячейку с первого листа с такой же ячейкой со второго листа (А1 с А1, А5 с А5). Нужно чтобы сравнивалось А1 со всеми на втором листе, потом А2 со всеми и т.д. ИМХО
Наверное это потому что макрос сравнивает каждую ячейку с первого листа с такой же ячейкой со второго листа (А1 с А1, А5 с А5). Нужно чтобы сравнивалось А1 со всеми на втором листе, потом А2 со всеми и т.д. ИМХО_Igor_61