![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 15.12.2011
Сообщений: 355
|
![]()
Уважаемые форумчане. С Наступающим вас Светлым Праздником.
Вы уже научили меня как определить с помощью формул наличие совпадений по двум столбцам на листе 1 и листе 2. Возможно ли сделать это с помощью условного форматирования? Т.е. выделить цветом всех индивидумов на листе 1 которые встречаются на листе 2. И можно ли сделать это при помощи макроса? Уверен что можно. Поэтому и обращаюсь. Особая благодарность если код макроса будет с пояснениями. Заранее огромное спасибо и ещё раз с наступающими праздниками. Последний раз редактировалось riniks17; 22.12.2012 в 19:35. Причина: Добавить вложение |
![]() |
![]() |
![]() |
#2 |
Регистрация: 22.12.2012
Сообщений: 7
|
![]()
Попробуй етот код:
Код:
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 07.01.2012
Сообщений: 152
|
![]()
я не сильный знаток но вроде работает)
|
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,170
|
![]()
aNJay, забудьте по Integer вообще, ну а тут это явно ведёт к ошибке, если лист будет заполнен хотя бы на половину.
Ну и думаю это самый медленный код из возможных...
webmoney: E265281470651 Z422237915069 R418926282008
|
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 15.12.2011
Сообщений: 355
|
![]() |
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,170
|
![]()
Так будет побыстрее:
Код:
webmoney: E265281470651 Z422237915069 R418926282008
|
![]() |
![]() |
![]() |
#7 | |
Форумчанин
Регистрация: 15.12.2011
Сообщений: 355
|
![]() Цитата:
А не в тягость объяснить код? Хочу сам научиться так же. Пардоньте, поменял на листе 2 фигурантов и они просто добавились в лист 1. Старые так и остались отформатированными. Хотелось бы обновлять по значениЯм на листе 2. Последний раз редактировалось riniks17; 22.12.2012 в 23:58. |
|
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 15.12.2011
Сообщений: 355
|
![]() |
![]() |
![]() |
![]() |
#9 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,170
|
![]()
Ну если "поменял", то и код нужно поменять
![]() Там нет предварительной очистки форматирования, да и есть привязка к столбцам и второй строке ![]() По алгоритму кода (каждую строку описывать лениво): 1. берём данные второго листа в массив 2. циклом его перебираем и заносим критерии в словарь 3. берём данные первого листа в массив 4. циклом его перебираем и проверяем наличие критерия в словаре - если есть, то красим соответствующую строку. Итого всего два прохода по данным (а не цикл в цикле), и по массивам, а не по ячейкам листа. На примере конечно разницу не увидите, но попробуйте код хотя бы на 1000 строк. А лучше на 10000 ![]() Я бы не красил, а заполнял параллельный массив единицами, затем его выгрузил на лист рядом с данными. Преимущества - не крадёт время (думаю пара процентов общего времени, хотя не замерял), можно сортировать по этим значениям и под 2003, не меняет ничего в данных (там уже могут быть крашеные ячейки). Не нужно предварительно ничего очищать - старые метки затрутся при выгрузке массива ![]()
webmoney: E265281470651 Z422237915069 R418926282008
|
![]() |
![]() |
![]() |
#10 | |
Форумчанин
Регистрация: 15.12.2011
Сообщений: 355
|
![]() Цитата:
![]() |
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Поиск совпадений | tigran67 | Паскаль, Turbo Pascal, PascalABC.NET | 0 | 29.03.2012 16:44 |
Поиск совпадений | KillJoy | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 05.09.2011 11:53 |
Поиск совпадений | Серёга0629 | Microsoft Office Excel | 9 | 29.08.2011 09:22 |
Поиск совпадений | Claster | Общие вопросы Delphi | 4 | 22.06.2011 17:34 |
Поиск совпадений в БД | _PROGRAMM_ | PHP | 6 | 21.05.2010 13:53 |