Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Выделение совпадения значений на разных листах - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Выделение совпадения значений на разных листах (Макросы/Sub)
Выделение совпадения значений на разных листах
ant6729 Дата: Среда, 03.05.2017, 22:50 | Сообщение № 1
Группа: Проверенные
Ранг: Обитатель
Сообщений: 329
Репутация: -6 ±
Замечаний: 60% ±

Excel 2010
Добрый вечер!
Подскажите, пожалуйста, как выделить дубли на первом листе1, просматривая значения на втором листе2.
Значение "Петя" в приложенном примере тоже должно выделиться.
Код внутри, но не рабочий... Подскажите, пожалуйста, как надо.
К сообщению приложен файл: 3555839.xlsm(15Kb)


Сообщение отредактировал ant6729 - Среда, 03.05.2017, 23:10
 
Ответить
СообщениеДобрый вечер!
Подскажите, пожалуйста, как выделить дубли на первом листе1, просматривая значения на втором листе2.
Значение "Петя" в приложенном примере тоже должно выделиться.
Код внутри, но не рабочий... Подскажите, пожалуйста, как надо.

Автор - ant6729
Дата добавления - 03.05.2017 в 22:50
_Igor_61 Дата: Среда, 03.05.2017, 23:08 | Сообщение № 2
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 191
Репутация: 34 ±
Замечаний: 0% ±

Excel 2007
Здравствуйте! Ну почему же нерабочий? У меня все сработало. А "Петя" не выделяется потому, что на первом листе после "Петя" пробел есть. Уберите его, и Петя тоже посинеет :D
 
Ответить
СообщениеЗдравствуйте! Ну почему же нерабочий? У меня все сработало. А "Петя" не выделяется потому, что на первом листе после "Петя" пробел есть. Уберите его, и Петя тоже посинеет :D

Автор - _Igor_61
Дата добавления - 03.05.2017 в 23:08
ant6729 Дата: Среда, 03.05.2017, 23:15 | Сообщение № 3
Группа: Проверенные
Ранг: Обитатель
Сообщений: 329
Репутация: -6 ±
Замечаний: 60% ±

Excel 2010
Нет... не получится
Если значение "Петя" сместить на листе1 в ячейку А19
Перезапуститься - ничего не сработает.
Сработает параллельно только до конца списка на листе2
Возмжоно, нужен step снизу вверх...я затрудняюсь прописать
Как это обойти, подскажите, пожалуйста.


Сообщение отредактировал ant6729 - Среда, 03.05.2017, 23:29
 
Ответить
СообщениеНет... не получится
Если значение "Петя" сместить на листе1 в ячейку А19
Перезапуститься - ничего не сработает.
Сработает параллельно только до конца списка на листе2
Возмжоно, нужен step снизу вверх...я затрудняюсь прописать
Как это обойти, подскажите, пожалуйста.

Автор - ant6729
Дата добавления - 03.05.2017 в 23:15
_Boroda_ Дата: Среда, 03.05.2017, 23:29 | Сообщение № 4
Группа: Модераторы
Ранг: Местный житель
Сообщений: 11523
Репутация: 4742 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Вы ищете на листе 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]


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеВы ищете на листе 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]

Автор - _Boroda_
Дата добавления - 03.05.2017 в 23:29
ant6729 Дата: Среда, 03.05.2017, 23:33 | Сообщение № 5
Группа: Проверенные
Ранг: Обитатель
Сообщений: 329
Репутация: -6 ±
Замечаний: 60% ±

Excel 2010
Спасибо, _Boroda_!
 
Ответить
СообщениеСпасибо, _Boroda_!

Автор - ant6729
Дата добавления - 03.05.2017 в 23:33
_Igor_61 Дата: Среда, 03.05.2017, 23:38 | Сообщение № 6
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 191
Репутация: 34 ±
Замечаний: 0% ±

Excel 2007
Наверное это потому что макрос сравнивает каждую ячейку с первого листа с такой же ячейкой со второго листа (А1 с А1, А5 с А5). Нужно чтобы сравнивалось А1 со всеми на втором листе, потом А2 со всеми и т.д. ИМХО
 
Ответить
СообщениеНаверное это потому что макрос сравнивает каждую ячейку с первого листа с такой же ячейкой со второго листа (А1 с А1, А5 с А5). Нужно чтобы сравнивалось А1 со всеми на втором листе, потом А2 со всеми и т.д. ИМХО

Автор - _Igor_61
Дата добавления - 03.05.2017 в 23:38
_Igor_61 Дата: Четверг, 04.05.2017, 07:14 | Сообщение № 7
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 191
Репутация: 34 ±
Замечаний: 0% ±

Excel 2007
Странно, когда писал ответ, сообщений 4 и 5 не было, сейчас увидел. И раньше такое изредка случалось. Сайт тормозит?
 
Ответить
СообщениеСтранно, когда писал ответ, сообщений 4 и 5 не было, сейчас увидел. И раньше такое изредка случалось. Сайт тормозит?

Автор - _Igor_61
Дата добавления - 04.05.2017 в 07:14
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Выделение совпадения значений на разных листах (Макросы/Sub)
Страница 1 из 11
Поиск:

Яндекс цитирования
© 2010-2017 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!