Страницы: 1
RSS
Копирование / Перенос с соседнего листа в первый со сравнением по первому столбцу
 
Доброго всем дня - Прошу посильной помощи.

Есть прайс лист из трех страниц внутри. Первая страница - это основной прайс, с которым мы постоянно работаем. Вторая страница - пустая. Третья - строки с товаром, собираемыми ручками с интернета.
Очень нужен маленький макрос (копирование/сравнение).

Т.е. Макрос - должен взять с третьей страницы, по первому столбцу и сравнить по первой ячейке в строке, первого столбца - данные с первой страницей, первого столбца. Там где будет найдено совпадение - надо перенести всю строку с третьего листа на первый лист, напротив найденой позиции, и вставить в туже строку но начиная со 131 столбца.
Изменено: vikttur - 15.09.2021 09:38:25
 
Михаил Иванченков,
а может быть несколько совпадений? Зачем нам второй лист?
Можно макросом:
Код
Sub aaa()
For y = 3 To Cells.SpecialCells(xlLastCell).Row
    For n = 2 To Sheets("Разное").Cells.SpecialCells(xlLastCell).Row
        If Cells(y, 1) = Sheets("Разное").Cells(n, 1) Then
            For r = 1 To 14
            Cells(y, r + 130) = Sheets("Разное").Cells(n, r)
            Next r
        End If
    Next n
Next y
End Sub
Можно формулой:
Код
=ЕСЛИОШИБКА(ИНДЕКС(Разное!A$2:A$1000;ПОИСКПОЗ($A3;Разное!$A$2:$A$1000;0));"")
Изменено: evgeniygeo - 15.09.2021 08:16:06
 
evgeniygeo, а так чтобы именно перенос, чтобы с третьего листа - эта строка исчезала, и появлялась в первом, ну или помечалась цветом та что перенеслась.

Да тогда второй лист не нужен.
Изменено: vikttur - 15.09.2021 08:47:43
 
Михаил Иванченков,
просто вырезать
Код
Sub aaa()
For y = 3 To Cells.SpecialCells(xlLastCell).Row
    For n = 2 To Sheets("Разное").Cells.SpecialCells(xlLastCell).Row
        If Cells(y, 1) = Sheets("Разное").Cells(n, 1) Then
            Sheets("Разное").Range(Sheets("Разное").Cells(n, 1), Sheets("Разное").Cells(n, 14)).Cut Cells(y, 131)
        End If
    Next n
Next y
End Sub

 
evgeniygeo, большое спасибо
Страницы: 1
Наверх