Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.03.2017, 15:22   #1
XohoX
 
Регистрация: 01.03.2017
Сообщений: 5
По умолчанию Найти копию данных на листе

Здравствуйте.

Подскажите, помогите, сделайте за меня)
Есть файл excel, данные встречаются в нем дважды. Строк много, сравнивать нужно несколько значений в разных слолбцах в пределах одной строки.

Что-то типа: нужно найти дубликат данных расположенных в BCD и HIJ в строке 5. Выделяем что нужно найти, жмем на кнопку, находит, закрашивает цветом и найденное и выделенное. В идеале поиск блоками, например: выделяем строки 2-16 в слолбцах BCD и HIJ, жмем на кнопку, если нашло, закрашивает и в выделенном куске и в найденном. Если дубликата нет, то в найденном не закрашивает(иначе путаница начнется). Готов к финансовой мотивации исполнителя).
Спасибо.

Забыл, строка должна проверяться на совпадение полностью. Т.е. если выделяем BCD и HIJ, то и дубликат должен быть в полностью в BCD и HIJ.
Вложения
Тип файла: xlsx Книга1.xlsx (14.2 Кб, 13 просмотров)

Последний раз редактировалось XohoX; 02.03.2017 в 15:37.
XohoX вне форума Ответить с цитированием
Старый 03.03.2017, 08:05   #2
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Посмотрите пример во вложении.
Выделить в любом столбце непрерывный диапазон ячеек и выполнить макрос "Main".
Ячейки столбцов "B:D" и "H:J" в выделенных строках будут окрашены в желтый цвет, а найденные повторения будут окрашены в зеленый цвет.
Если требуется поиск при выделении разрывного диапазона, то макрос нужно будет немного изменить.
Проверяйте. Все ли так, как нужно?
Вложения
Тип файла: rar Книга1.rar (18.6 Кб, 11 просмотров)
Чем шире угол зрения, тем он тупее.

Последний раз редактировалось SAS888; 03.03.2017 в 08:09.
SAS888 вне форума Ответить с цитированием
Старый 03.03.2017, 11:19   #3
XohoX
 
Регистрация: 01.03.2017
Сообщений: 5
По умолчанию

Цитата:
Сообщение от SAS888 Посмотреть сообщение
Посмотрите пример во вложении.
Проверяйте. Все ли так, как нужно?
Проверил, работает). Есть два нюанса.

Ситуация 1
Выделяю - красит желтым всё выделенное и зеленым(что нашлось). Желтым выделенное красит даже если нет совпадения. (во вложении картинки) Можно ли сделать чтоб желтым красилось только то, что совпадает с зеленым?

Ситуация 2
Нашел еще одно, если что-то в таблице закрашено, то после выполнения main все ячейки становятся не закрашенными. Т.е. выделение, например ячейки B5 синим цветом после выполнения main исчезает.

(модераторам)
То что картинки отображаются это я не специально, думал будут как вложения, но не разобрался как сделать.
Изображения
Тип файла: jpg 1.jpg (117.7 Кб, 125 просмотров)
Тип файла: jpg 2.jpg (118.0 Кб, 121 просмотров)
Тип файла: jpg 3.jpg (117.4 Кб, 118 просмотров)

Последний раз редактировалось XohoX; 03.03.2017 в 15:47.
XohoX вне форума Ответить с цитированием
Старый 06.03.2017, 07:58   #4
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

XohoX
1. В приложенном примере в желтый цвет будут окрашиваться не все изначально выделенные строки, а только те, для которых нашлись повторы.
2. В первоначальном варианте макрос обесцвечивал все ячейки листа, затем закрашивал найденные. Если этого не делать, то можно запутаться. Ну, да ладно... Вам виднее... Убрал обесцвечивание. Если потребуется, то можно его вернуть. В коде макроса есть комментарий.
Желаю удачи.
Вложения
Тип файла: rar Книга2.rar (19.3 Кб, 10 просмотров)
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 06.03.2017, 10:48   #5
XohoX
 
Регистрация: 01.03.2017
Сообщений: 5
По умолчанию

Цитата:
Сообщение от SAS888 Посмотреть сообщение
1. В приложенном примере в желтый цвет будут окрашиваться не все изначально выделенные строки, а только те, для которых нашлись повторы.
Да, так и хотелось, работает.
Цитата:
Сообщение от SAS888 Посмотреть сообщение
2. В первоначальном варианте макрос обесцвечивал все ячейки листа, затем закрашивал найденные.
Поверенные ячейки отмечаются именно закрашиваением. (Проверено - закрашено синим.) Я в макросе выберу ядреные цвета), путаницы не будет.
Цитата:
Сообщение от SAS888 Посмотреть сообщение
Если требуется поиск при выделении разрывного диапазона, то макрос нужно будет немного изменить.
Как выяснилось это так же необходимо. При включении сортировки появляются разрывы и выделение цветом отрабатывает иначе. Выяснить закономерность не удалось, но желтым красит больше чем было выделено. Возможно ли добавить - поиск при выделении разрывного диапазона?

Нашлось еще одно, если есть несколько дублей то они находятся все(картинка). Т.е. одна строка соответствует нескольким. Можно это убрать? Т.е. одна строка = одна строка, дубликаты пусть останутся не крашенные.

И последнее - куда удобнее перевести оплату?
Изображения
Тип файла: jpg Снимок.jpg (101.2 Кб, 127 просмотров)

Последний раз редактировалось XohoX; 06.03.2017 в 13:09.
XohoX вне форума Ответить с цитированием
Старый 07.03.2017, 05:40   #6
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

XohoX
Посмотрите прикрепленный файл.
1. Если совпадений несколько, то будет окрашиваться только первое из найденных.
2. Теперь возможно выделение разрывного диапазона.
3. См. ЛС.
Вложения
Тип файла: rar Книга3.rar (18.4 Кб, 17 просмотров)
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
найти одинаковые строки из из одного листа книги exel в другом листе MARINA999 Microsoft Office Excel 14 13.07.2015 23:21
Найти минимальний елемент массива. ПРием данних как указатель на начало масива , и как копию данных. galaxyblazer Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 17.04.2012 16:57
Макрос на форматирование данных на листе Kyxac Microsoft Office Excel 2 08.04.2011 12:53
Выборка данных в листе А по параметру 1 из листа Б Nekota Microsoft Office Excel 13 17.02.2010 18:26
Как сделать резервную копию определеных данных? Anticoors БД в Delphi 2 26.04.2007 14:23