|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
04.01.2011, 15:51 | #1 |
Пользователь
Регистрация: 22.02.2010
Сообщений: 21
|
Сравнение и копирование нужных строк и ячеек
Здравствуйте! Сразу скажу, форум и не только этот читал. Замучился копипастить все вручную. Хочу нормальное, желательно более-менее универсальное решение. Суть проблемы проста. Есть 2 excel прайса. Из одного надо импортировать данные в другой. Но в источнике всего 2 колонки с информацией, а в конечном прайсе есть несколько колонок, которые надо не только добавить, но и изменить информацию на основе начальных данных.
исходный прайс.xls – исходная информация, столбцы приведены для примера, их необходимо будет указывать общий прайс.xls – документ, в который необходимо добавить новые строчки. Как я себе все это представляю. 1) Сравнение по первому столбцу (артикулу). В “исходный прайс.xls” мышкой выбирается диапазон произвольный значений, в примере это будет с A4 по A24. Из этих значений выбираются те, которые не присутствуют в “общий прайс.xls” и построчно копируются конец общего прайса. 2) В идеале, хочется задавать соответствие по общему прайсу, по столбцу U. Т.е., решил скопировать флешки в подкатегорию “флешки 1 гб”, указал диапазон и нужную категорию и выделенные строки копируются в нужное место. Категорию можно заменить на номер строки, после которой нужно необходимые строки. 3) Теперь самое сложное. Задание соответствий, т.е. что и в какой столбец копировать. Впринципе, это частности, но без них править все равно придется вручную. По порядку: a) В общем прайсе, столбцу W соответствует столбец G в исходном. Сильно желательно, иметь возможность указать, с какого слова начинать копировать. Т.е. например, если в G исходного прайса “4GB USB-флэш накопитель A-data N702 красный”, то в W общего будет “A-data N702 (красный) 4Gb”. b) Столбец AB в общем. Таблица html (подумываю от него избавиться, но все же). Здесь надо выдернуть нужные значения из G в исходном (или более универсально, столбец произвольный, значения перечислены, а дальше идет сравнение по тексту). Вообще, это все ненужный головняк, так что необязательно. c) AF в общем – также G в исходном (а лучше снова произвольный столбец с нужной информацией) d) AG и AH – инфа дергается также как и в пункте b). Т.е. по уникальному тексту в исходном прайсе. Вопрос. Есть ли готовый программный продукт, который может делать такие манипуляции автоматически и универсально? Третий день ищу. Посмотрел Plex, ASAP, всякие платные проги по объединению. Демка myAddin не заработала, вроде там есть что-то похожее (_http://www.excel-vba.ru/index.php?file=MyAddin_Consolidated ), но наверняка неидеальное решение. Ничего с такой гибкостью нет, или просто не нашел. Подскажите, люди добрые, что можно сделать, наведите критику на саму идею. Здесь на форуме, человек уже задавал вопрос по поводу универсального решения, и даже выложил свое, которое правда не работает. Если кто-то согласен написать макрос, за адекватную сумму, пишите лс. Не могу больше ctrl+c – ctrl+v делать… |
04.01.2011, 17:47 | #2 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
Инструмент, с помощью которого можно сделать 3) - http://www.excelworld.ru/index/comparefiles_find/0-25
В принципе, пометить отсутствующих (1),2)) тоже можно. Потом по пометкам отсортировать и скопировать скопом. Т.е. вижу так - сперва находим отсутствующие позиции и копируем их (а не всю строку) в общий прайс. Вторым заходом добиваем строки уже по нужным полям, как критерий используя скопированное на первом шаге. P.S. Только вот названия групп придётся вручную отслеживать. Проверил - получается процесс...
webmoney: E265281470651 Z422237915069 R418926282008
Последний раз редактировалось Hugo121; 04.01.2011 в 18:01. |
05.01.2011, 11:39 | #3 |
Пользователь
Регистрация: 22.02.2010
Сообщений: 21
|
Hugo121, спасибо, что откликнулся. Ввожу следующие данные, в зеленые поля:
C:\123\общий прайс.xls C:\123\исходный прайс.xls A A 1 1 Выдает ошибку при нажатии кнопки "Запустить сравнение": "Runtime error '438' Object doesn't support this property or method" Сегодня попробую на другом компьютере, а то у меня установлено 2 экселя |
05.01.2011, 13:12 | #4 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
Есть две версии - одна для 2000/2003 Экселя, другая для 2007. На 2010 не тестировал.
Ну и в примерах у Вас 3-й лист с данными, а не первый. И для получения результата ещё нужно указать колонку/и, куда что копировать или куда писать пометки, иначе просто покажет количество совпадений и всё. И ещё - только 15 тестовых попыток на каждом компьютере... вернее под каждым пользователем.
webmoney: E265281470651 Z422237915069 R418926282008
|
07.01.2011, 20:52 | #5 |
Пользователь
Регистрация: 22.02.2010
Сообщений: 21
|
Не работает Добился только запроса секретного кода. Лезет 438 и все тут. Уже на трех компах попробовал, эксель 2003 и 2010. С листами это я в торопях перепутал, но дело к сожалению не в них. Возможно что-то ввожу не так... Позже попробую 2007, но уж больно быстро эта ошибка лезет, явно не в версии экселя дело.
|
27.01.2011, 11:47 | #6 |
Пользователь
Регистрация: 20.01.2011
Сообщений: 21
|
Такая же ошибка
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Сравнение данных в 2ух столбцах и копирование строк | vwmexanik | Microsoft Office Excel | 26 | 15.02.2010 11:02 |
сортировка нужных строк | mistx | Microsoft Office Excel | 5 | 19.08.2009 08:14 |
Выделение цветом нужных строк таблицы DBGrid | XFilippowX | Общие вопросы Delphi | 4 | 16.02.2009 10:02 |
Как изменять ширину колонки в пределах нужных строк | dru | Microsoft Office Excel | 1 | 08.12.2008 17:57 |
Цикл для просмотра диапазона и выбора нужных ячеек. | Dorvir | Microsoft Office Excel | 8 | 21.07.2008 06:33 |