Страницы: 1
RSS
Поиск кода и изменение значения в соседней ячейке
 
Добрый день столкнулись с проблемой, наш поставщик постоянно присылал цены в одном формате, теперь решил урезать полностью все, и присылает только код товара и рядом наличие и цену, а база была сделана под прошлый прайс, в котором и описание и размеры и кодтовара и т.д. ....

Суть просьбы, в прикрепленном файле пробовали с автозаменой (взяли с этого форрума), но она меняет только выбранные, а нам по факту нужно, что бы находило товар по коду, и в соседней ячейке "правило" цену, но опять нюанс, в прайсе старом есть многие товарные позиции (т.к. приходил общий), а в новом товар есть, но не весь, т.к. присылают с филиала, и короче говоря перемешали нам все и теперь надо либо макрасом "править", чтобы находило код, меняло в соседней ячейке цену, а там где нет товара, просто в цене ставило 0, либо переделывать сайт с дополнительным загрузчиком и т.д., полная замена сайта, что кране не выгодно и не приемлемо. Одним словом дурдом.


Помогите пожалуйста!
 
Непонятный пример!
Приложите старый прайс и новый от поставщика (фрагменты)
и прайс как загружаете на сайт.
Изменено: skais675 - 06.02.2017 21:42:37
 
Открыл файл - макроса не нашёл. Что делать с данными (и с какимм)  тоже не понял. Второй лист вообще загадка.
 
В разделе "Рабочий до работы макроса" там старый прайс, как приходил (вырезка из него), в разделе "данные автозамены" там находится новый прайс (так же вырезка).

Прикрепил Новый прайс и старый, новый на "Лист 1", старый прайс "Лист 2"
Изменено: avtomonarh - 06.02.2017 22:36:46
 
Не нужно оригиналы )
И что нужно сделать? Пробежаться по кодам на первом листе, найти этот код на третьем и поменять цену? А второй лист зачем?
 
не могу загрузить " Превышен максимальный размер загружаемого файла (100 КБ)"  
Изменено: avtomonarh - 06.02.2017 22:39:20
 
Новый прайс:
https://drive.google.com/open?id=0B3cmhhZGi45lN2RodGRwT3BXU0k
Старый прайс:
https://drive.google.com/open?id=0B3cmhhZGi45lZGl2YkEtaXJkN2s
 
Цитата
Юрий М написал:
Не нужно оригиналы
Зачем Ваши оригиналы? Вы на вопрос лучше ответьте.
И ещё момент: точных совпадений кодов в примере нет.
 
Наверное, я вопрос очень сложный задал...
Выполните макрос при активном первом листе.
Код
Sub Macro1()
Dim LastRow As Long, i As Long, Rng As Range
    LastRow = Cells(Rows.Count, 1).End(xlUp).Row
    With Sheets("данные автозамены")
        For i = 6 To LastRow
            Set Rng = .Columns(1).Find(what:=Cells(i, 1), LookIn:=xlValues, LookAt:=xlPart)
            If Not Rng Is Nothing Then
                Cells(i, 3) = Rng.Offset(0, 2)
            Else
                Cells(i, 3) = 0
            End If
        Next
    End With
End Sub



 
Это все и в двух листах можно решить, просто что бы понятнее было: "до того как", "после того как" и "данные для заполнения". Должно быть таким образом, мы во вторую страницу подставляем новые значения, а в первом листе, в строке "цена" менялось значение, напротив нужного нам кода товара.

1061AGNBLV - это и другие коды товара, находится в post.xls, на первом листе "Рабочий до работы макроса" (это со старого прайса) и на листе находится "данные автозамены" вырезка с нового прайса. Собственно и оригиналы скинул. )))


Старый прайс - "Рабочий до работы макроса"
1061AGNBLVываыва   ываываыва99,48
1061LGNV5FD ываыва ыва ыа ыав ывыа пфпвыап вапв пва я16,01
1097AGNBLVвапывап50,34
1097LGNS4FDывапы17,73
1097LGNS4RDывапы18,8
1097RGNS4FDсмит17,73
1097RGNS4RDчсми18,8
Новый Прайс - "Данные автозамены"
1061AGNBLV-FU13060
1061AGNBLV-XI>23060
1097AGNBLV-XI>21449
1097LGNS4FD-FU>2385
1097RGNS4FD-FU>2385
1097RGNS4RD-XI1599
В этих двух столбцах коды товаров, по сути одинаковые, в конце (у новых) добавились тире и доп. маркировка, но цены разные, нужно что бы со второго листа цены переходили на первый, согласно коду товара, а там где товар отсутствует забивалось нулем.

В этих столбцах разница и по кол-ву, т.к. товары с началом кода "1097..." в первом 5 шт., а во втором столбце 4 шт..
 
Вопрос не сложный, просто долго писал, и старался что бы было понятнее )))
 
Макрос пробовали?
 
Побывать завтра будем, в рабочее время, спасибо Вам огромное. Сразу же отпишусь, что и как!
 
Спасибо огромное за макрос, очень помог, но столкнулись с новой проблемой замены, т.к. макрос меняет одинаковые, а наш поставщик добавил окончания, тем самым разделив и расширив линейку товара. И из-за этого, не ко всему проходит замена, но в любом случае спасибо.

Мучились долго т.к. загружали через "удаленку".


Скажите Юрий, вы не в курсе каким образом возможно убрать определенное окончания в тексте (в нашем случае в коде товара).
Пример: было: 2039AGSM1B-XI --> стало: 2039AGSM1B
Либо наоборот, как добавить: Пример: было: 2039AGSM1B --> стало: 2039AGSM1B-XI

Либо сделать макрос, который будет просто добавлять строку с новым кодом товара, т.е. меняя цены макрос проверяя значение такое не нашел и просто добавил его в следующей строке, к примеру:

2031LGNH3RQO - это код товара нашел
2031LGNH3RQZ - это код товара нашел
2031LGNH5RD  - это код товара нашел
2031RGNH3RQZ - этот код товара макрос, не нашел, т.к. его в старом прайсе нет, и он добавил в низу строку и в него код товара вписал, и пошел по порядку дальше проверять. Как то так.

Столько вопросов задаю т.к. не понимаем, как нам это все повернуть в нужное русло, сидели обсуждали и бились над ним очень долго, и много вариантов проработали и хочется пойти по меньшему сопротивлению, но везде куча нюансов, в переписывании формул, просчета наценки и д.т...
 
Я Вам ещё в #8 написал, что в прикреплённом примере ТОЧНЫХ совпадений нет. Поэтому сделал макрос, который ищет НЕ точное совпадение.
Сначала Вы просили, чтобы макрос ставил ноль, если значение не найдено - так и сделано. Теперь просите добавлять строку снизу - но ведь строка с таким кодом УЖЕ есть - зачем её дублировать?
По поводу
Цитата
было: 2039AGSM1B-XI --> стало: 2039AGSM1B
"окончание" можно убрать, если будем уверены, что разделителем ВСЕГДА являеется один и тот же символ. Например, это всегда будет дефис.
А вообще - соорудите пример (небольшой) с исходными данными, где будут различные варианты, и покажите желаемый результат.
Много строк не нужно: 15-20 вполне достаточно.
 
Совпадений точных нет из-за добавленного окончания, к сожалению, т.е. до дефиса все одинаковое, а после разное. До этого дефис был, но не везде, а сейчас подвязали ко всем номерам. Код товара на всех позициях одинаковый, делитель в конце указывает на производителя и все.

Сами еще не поймем, как лучше толи его убирать окончание. Насчет нолей это нужно и за это спасибо, т.к. есть позиции, одни и те же, то появляются то пропадают.
Некоторых позиций в старом прайсе вообще нет, которые есть в новом, вот поэтому и написал о добавлении строки.

Поставщик наш добавил везде окончания, добавил новые позиции, убрал полностью описание, размеры и т.д., и вот теперь пытаемся как-то с этим "огрызком", который приходит сделать невозможное, у нас была расшифровка этого кода который он так же присылал отдельно, его сейчас так же не высылает.

Мы сейчас планируем переделать прайс (старый) и добавить везде окончания, что бы когда приходил новый было 100% совпадение, а вот с новыми позициями и их описанием еще пока в замешательстве, однозначно будем добавлять, но нужно описание и расшифровка кода, т.е. опять свои нюансы.

Пример сделаю, чуть позже. на работе не получается его сделать
Изменено: avtomonarh - 08.02.2017 12:02:49
 
Написали много, а в чём проблема - не могу понять. ЧТО мой макрос делает не так?
 
С макросом все в порядке. Спасибо за него.

Мы сейчас планируем переделать старый прайс добавить везде окончания, что бы когда приходил новый было 100% совпадение

Новые позиции будем добавлять, но вычислить их из списка это не реально, вот поэтому и написал о том что когда макрос не найдет совпадение, добавил в новую строку код и дальше пошел цены минять

Собственно проблема в том, что есть код товара, в старом прайсе, без окончания, туда нужно его добавить "-XI", а есть уже с окончаниями "-AU", "-PI", а эти что б остались не изменений
Пример:
было 2039AGSM1B --> стало: 2039AGSM1B-XI

Не сделав этого не возможно будет менять цену,
 
Готовьте небольшой пример - постараемся помочь )
 
Собственно у нас получилась проблема в распознании цен.

В таблице на странице "Лист 1", есть данные которые нужно подставить на страницу "Лобовые стекла", согласно фильтру который указан  на "Лист 1", т.е. выбранные только стекла одного типа и марки, но на странице "Лобовые стекла" пока не все указанные евро кода, т.к. сейчас выкинули только часть прайса, с максимально ходовыми позициями и нам надо поместить туда цены с минимальной ценой производителей взятых в фильтре на странице "Лист 1". Т.е. с "Лист 1" перенести цены конкретных позиций фиьтра в страницу "Лобовые стекла".

Но тут нюанс как нам заполнить страницу Лобовые стекла? Автостекла отличия в производителе только по окончанию "-Xi", "-Fu" и т.д. а первые 4 цифры евро кода у всех одинаковые, мы изначально начали заполнять по 4 цифры, что бы потом макросом все в момент поменять, но потом вышло что 4 цифры это мало, вопрос заполнять может лучше до производителя? Это видно на странице "Лобовые стекла" и на странице "Лист 1" если убрать фильтры то там все варианты.

Как нам быть с заполнением и как нам потом подставлять цены?
https://drive.google.com/open?id=0BzkgPkyZDLcLX3JSR0pjR0JlSWs
Изменено: avtomonarh - 22.02.2017 02:48:33 (Ошибки)
 
Добрый день еще раз. Юрий как появится минутка посмотрите пожалуйста.
Заранее спасибо!
Страницы: 1
Наверх