Добрый день. Прошу помочь со сводом данных по сравнению цен разных поставщиков. В исходных данных имеем: наш код товара, наименование товара и коды с ценами нескольких поставщиков. В своде нужно продублировать строку с наш код товара столько раз, сколько имеется аналогичных товаров у поставщиков, а если у нас нет такого кода товара, то привязать каждого поставщика к наименованию. прикрепляю файл с примером, в виде сводных данных показала, откуда должны идти данные в каждую ячейку. Обработать надо около 12000 строк, поэтому наверно нужен макрос. Но сама написать его не могу.
Буду признательна за помощь. Заранее благодарю.
Добрый день. Прошу помочь со сводом данных по сравнению цен разных поставщиков. В исходных данных имеем: наш код товара, наименование товара и коды с ценами нескольких поставщиков. В своде нужно продублировать строку с наш код товара столько раз, сколько имеется аналогичных товаров у поставщиков, а если у нас нет такого кода товара, то привязать каждого поставщика к наименованию. прикрепляю файл с примером, в виде сводных данных показала, откуда должны идти данные в каждую ячейку. Обработать надо около 12000 строк, поэтому наверно нужен макрос. Но сама написать его не могу.
Буду признательна за помощь. Заранее благодарю.Delfato
Вы можете нажимая F8 пошагово просматривать действия макроса.
[vba]
Код
Sub run() Dim a As String
tottal1 = Cells(Rows.Count, 2).End(xlUp).Row ' Считает колличесво строк в столбце В For i = 4 To tottal1 'Цикл от 4 к счёту строк kod = Cells(i, 1) 'Забирает код по нашей базе товара nam = Cells(i, 2) 'Забирает наименование
For o = 1 To 5 Step 2 'Цикл в три шага для учёта наличия товара у всех ваших поставщиков If Cells(i, 3 + o) = "" Then ' просматривает поле цена у каждого поставщика и если в поле что либо есть : Else total2 = Cells(Rows.Count, 11).End(xlUp).Row 'находит последнюю строку в конечной таблице Cells(total2 + 1, 10) = kod ' Вставляет код по нашей базе Cells(total2 + 1, 11) = nam ' Вставляет наименование Cells(total2 + 1, 12) = Cells(i, 2 + o) ' вставляет код по базе поставщика Cells(total2 + 1, 13) = Cells(i, 3 + o) ' вставляет цену Cells(total2 + 1, 14) = Cells(2, 2 + o) ' Вставляет поставщика End If Next o Next i End Sub
[/vba]
Вы можете нажимая F8 пошагово просматривать действия макроса.
[vba]
Код
Sub run() Dim a As String
tottal1 = Cells(Rows.Count, 2).End(xlUp).Row ' Считает колличесво строк в столбце В For i = 4 To tottal1 'Цикл от 4 к счёту строк kod = Cells(i, 1) 'Забирает код по нашей базе товара nam = Cells(i, 2) 'Забирает наименование
For o = 1 To 5 Step 2 'Цикл в три шага для учёта наличия товара у всех ваших поставщиков If Cells(i, 3 + o) = "" Then ' просматривает поле цена у каждого поставщика и если в поле что либо есть : Else total2 = Cells(Rows.Count, 11).End(xlUp).Row 'находит последнюю строку в конечной таблице Cells(total2 + 1, 10) = kod ' Вставляет код по нашей базе Cells(total2 + 1, 11) = nam ' Вставляет наименование Cells(total2 + 1, 12) = Cells(i, 2 + o) ' вставляет код по базе поставщика Cells(total2 + 1, 13) = Cells(i, 3 + o) ' вставляет цену Cells(total2 + 1, 14) = Cells(2, 2 + o) ' Вставляет поставщика End If Next o Next i End Sub
Здравствуйте! Не стала создавать новую тему, потому как эта очень похожа. Прошу помощи в таком вопросе: Есть исходные данные, в которых каждый товар повторяется в n-количестве строк, соответствующим каждому продавцу. Мне приходится тратить кучу времени на проставление цены каждого продавца на один и тот же товар. В другом виде директор информацию видеть не хочет. Вашими волшебными макросами к сожалению не владею. Подробности в файле.
Помогите пожалуйста. [moder]И все-таки Ваш файл отличается от исходного, создайте свою тему. И напишите, почему именно макросами нужно? Для Вашей таблицы обычная сводная подойдет.[/moder]
Здравствуйте! Не стала создавать новую тему, потому как эта очень похожа. Прошу помощи в таком вопросе: Есть исходные данные, в которых каждый товар повторяется в n-количестве строк, соответствующим каждому продавцу. Мне приходится тратить кучу времени на проставление цены каждого продавца на один и тот же товар. В другом виде директор информацию видеть не хочет. Вашими волшебными макросами к сожалению не владею. Подробности в файле.
Помогите пожалуйста. [moder]И все-таки Ваш файл отличается от исходного, создайте свою тему. И напишите, почему именно макросами нужно? Для Вашей таблицы обычная сводная подойдет.[/moder]Мия