Цитата |
---|
Hugo написал: Написал в личке - есть вопросы почти по всем этапам. |
21.03.2017 10:44:06
1 этап. · В столбце D (лист 1) и столбце B (лист 2) добавить «0» перед числом и привести столбцы к единому варианту, который можно корректно сравнивать (текстовый). 2 этап. · Сравнить столбец D (лист 1) и столбец B (лист 2). В результате сравнения добавить найденные значения строк из столбцов B, C, E, F (лист 2) в столбцы J, K, L, M (лист 1) соответственно. · По аналогии добавить найденные значения строк из столбцов D, G, B, H (лист 1) в столбцы G, H, I, J (лист 1) соответственно. · При сравнении учитывать возможность отсутствия штрих-кода в строках таблиц, либо наличие записей, отличный от цифр (пример: «б.н.», «без ш.к.», «-»). 3 этап. · Из листов 3 и 4 внести соответствия по адресам и типам ТМЦ в столбцы N и O листа 1 (сравниваем столбцы B и H с листом 3 и 4 соответственно). · По аналогии внести соответствия из листов 5 и 6 по адресам и типам ТМЦ в столбцы K и L листа 2 (сравниваем столбцы K и L с листом 6 и 5 соответственно). 4 этап. · Сравниваем столбцы N и O (значение N & O одновременно) на первом листе со столбцами K и L (K & L) на втором листе. В столбцах P и Q первого листа нужно внести штрих-код и наименование ТМЦ из найденной строки во второй таблицы (штрих-код из столбца B и наименование из столбца E листа 2). Заполненные строки в столбце J листа 1 (которые нашлись предыдущим макросом по штрих-коду) нужно исключить из обработки. Также значения штрих-кодов не должны повторяться. · После внесения значений в столбцы P и Q первого листа, в столбцы M и N второго листа вносим наименование ТМЦ и старый штрих-код найденной строки из первой таблицы (столбцы B и D соответственно). 5 этап (последний). · Обрезаем значение строк в столбцах N листа 1 и K листа 2 до города, т.е. запись «Калининградская обл, Калининград г, Батальная ул, д.39-45» должна превратиться в «Калининградская обл, Калининград г», выносим значения (если необходимо) в отдельный столбец обоих таблиц на листе 1 и 2. · Запускаем еще один цикл сверки по аналогии с 4 этапом, учитывая ранее найденные позиции. Добавляем новые столбцы с ш-к и ТМЦ в таблицы.
Файл весит 330Кб и доступен по ссылке: |
|||
|
20.03.2017 23:39:15
Если получится все переписать (там примитивный код в полотне) и добиться результата - с меня 1к руб. Устроит? Сможешь вечером завтра помочь? |
|||
|
20.03.2017 23:33:46
|
|||
|
20.03.2017 22:17:28
На самом деле все проще:
все "Калининградская обл, Балтийск г, Ленина пр-т, д. 22б ИБП" на одном листе сравниваем со всеми "Калининградская обл, Балтийск г, Ленина пр-т, д. 22б ИБП" (они специально унифицированы для сверки) на втором листе и тупо копируем штрих-коды со второго листа на первый и с первого листа на второй (новый и старый ш-к), пропуская соответственно строчки, где ш-к уже найдены. Если ИБП на первом листе больше, то лишние остаются без новых ш-к из второго листа (и наоборот со вторым листом).
Изменено: |
|
|
20.03.2017 21:42:00
Сравниваем столбцы N и O (значение N & O одновременно) на первом листе со столбцами K и L (K & L) на втором листе. В столбцах P и Q первого листа нужно внести штрих-коды из найденной строки во второй таблицы (штрих-код из столбца B и наименование из столбца E). Соответственно во вторую таблицу в столбцы M и N подставить соответствующие значения из столбцов D и B первой таблицы. Главное чтобы после нахождения в первой таблице строки из второй (и внесения дополнительных значений в таблицы) эти строки больше не использовались в сопоставлении. Т.е. новые штрих-коды из второй таблицы не использовались по 2 раза. Надеюсь все понятно объяснил, короче не получается... Файл попробую сократить чуть позже. Спасибо. |
|||
|
20.03.2017 19:36:36
Обращаюсь за помощью первый раз, вопрос срочный... Вроде по правилам форума кросс не запрещен.
В дальнейшем не буду так делать
Изменено: |
|
|
20.03.2017 17:44:24
Добрый день!
Уважаемые Форумчане и Гуру Excel, помогите! Все перерыл в поисковиках, но не могу приделать отдельные примеры к своему макросу... Суть вопроса: Есть выгрузка из базы 1С (первый лист) и наша инвентаризационная опись (второй лист). На данный момент сделал следующее - "макрос 1" (левая картинка на первом листе сверху) выполняет сверку между таблицами и дописывает в желтые столбцы найденные позиции и данные по ним в обе таблицы, также макрос подставляет унифицированные данные (тип ТМЦ и адрес) в дополнительные столбцы. "Макрос 2" (правая картинка на первом листе) должен делать следующее: При нажатии происходит поиск в таблице 2 (второй лист) и подстановка значений в таблицу 1 (первый лист) по "склеенному" значению строки адрес & тип ТМЦ. В последние два столбца подставляется штрих-код и оригинальное наименование ТМЦ из второй таблицы. Проблема!: В столбец P (штрих-коды) и в столбец Q (наименование ТМЦ) подставляется одинаковое значение по первой (или последней?) найденной строке во второй таблице. Что требуется: Подставлять в столбцы P и Q первой таблицы уникальные значения ТМЦ со второй таблицы (штрих-код из столбца B и наименование из столбца E) и маркировать их во второй таблице проставляя старый штрих-код и полное наименование ТМЦ (в столбцы M и N листа 2) из первой таблицы (из столбцов D и B). Пробовал разными способами, но столкнулся с кучей ошибок, понимаю что не так сложно реализовать, но к сожалению не хватает знаний... Заранее благодарю всех откликнувшихся! Файл весит 330Кб (не могу сократить без потери функционала) и доступен по ссылке:
Изменено: |
|
|