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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.01.2011, 15:51   #1
onenures
Пользователь
 
Регистрация: 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 делать…
Вложения
Тип файла: rar 123.rar (6.5 Кб, 20 просмотров)
onenures вне форума Ответить с цитированием
Старый 04.01.2011, 17:47   #2
Hugo121
Старожил
 
Регистрация: 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.
Hugo121 вне форума Ответить с цитированием
Старый 05.01.2011, 11:39   #3
onenures
Пользователь
 
Регистрация: 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 экселя
onenures вне форума Ответить с цитированием
Старый 05.01.2011, 13:12   #4
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Есть две версии - одна для 2000/2003 Экселя, другая для 2007. На 2010 не тестировал.
Ну и в примерах у Вас 3-й лист с данными, а не первый.
И для получения результата ещё нужно указать колонку/и, куда что копировать или куда писать пометки, иначе просто покажет количество совпадений и всё.
И ещё - только 15 тестовых попыток на каждом компьютере... вернее под каждым пользователем.
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 07.01.2011, 20:52   #5
onenures
Пользователь
 
Регистрация: 22.02.2010
Сообщений: 21
По умолчанию

Не работает Добился только запроса секретного кода. Лезет 438 и все тут. Уже на трех компах попробовал, эксель 2003 и 2010. С листами это я в торопях перепутал, но дело к сожалению не в них. Возможно что-то ввожу не так... Позже попробую 2007, но уж больно быстро эта ошибка лезет, явно не в версии экселя дело.
onenures вне форума Ответить с цитированием
Старый 27.01.2011, 11:47   #6
lalike
Пользователь
 
Регистрация: 20.01.2011
Сообщений: 21
По умолчанию

Такая же ошибка
lalike вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сравнение данных в 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