Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Сводные данные из таблицы при условии соответствия - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Сводные данные из таблицы при условии соответствия (Макросы/Sub)
Сводные данные из таблицы при условии соответствия
Delfato Дата: Суббота, 22.11.2014, 13:42 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 9
Репутация: 1 ±
Замечаний: 0% ±

Excel 2013
Добрый день.
Прошу помочь со сводом данных по сравнению цен разных поставщиков.
В исходных данных имеем: наш код товара, наименование товара и коды с ценами нескольких поставщиков.
В своде нужно продублировать строку с наш код товара столько раз, сколько имеется аналогичных товаров у поставщиков, а если у нас нет такого кода товара, то привязать каждого поставщика к наименованию.
прикрепляю файл с примером, в виде сводных данных показала, откуда должны идти данные в каждую ячейку.
Обработать надо около 12000 строк, поэтому наверно нужен макрос. Но сама написать его не могу.

Буду признательна за помощь.
Заранее благодарю.
К сообщению приложен файл: primer.xlsx (10.8 Kb)
 
Ответить
СообщениеДобрый день.
Прошу помочь со сводом данных по сравнению цен разных поставщиков.
В исходных данных имеем: наш код товара, наименование товара и коды с ценами нескольких поставщиков.
В своде нужно продублировать строку с наш код товара столько раз, сколько имеется аналогичных товаров у поставщиков, а если у нас нет такого кода товара, то привязать каждого поставщика к наименованию.
прикрепляю файл с примером, в виде сводных данных показала, откуда должны идти данные в каждую ячейку.
Обработать надо около 12000 строк, поэтому наверно нужен макрос. Но сама написать его не могу.

Буду признательна за помощь.
Заранее благодарю.

Автор - Delfato
Дата добавления - 22.11.2014 в 13:42
Cheshir0067 Дата: Суббота, 22.11.2014, 14:56 | Сообщение № 2
Группа: Проверенные
Ранг: Новичок
Сообщений: 35
Репутация: 8 ±
Замечаний: 0% ±

Excel 2010
Ловите:
К сообщению приложен файл: primer.xlsm (17.8 Kb)


irelandzp@gmail.com

Сообщение отредактировал Cheshir0067 - Суббота, 22.11.2014, 14:56
 
Ответить
СообщениеЛовите:

Автор - Cheshir0067
Дата добавления - 22.11.2014 в 14:56
Delfato Дата: Суббота, 22.11.2014, 15:38 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 9
Репутация: 1 ±
Замечаний: 0% ±

Excel 2013
Cheshir0067, Огромное спасибо! Очень помогли.
Можно, еще просьбу....если не затруднит, подскажите в макросе что делает каждая строчка.
 
Ответить
СообщениеCheshir0067, Огромное спасибо! Очень помогли.
Можно, еще просьбу....если не затруднит, подскажите в макросе что делает каждая строчка.

Автор - Delfato
Дата добавления - 22.11.2014 в 15:38
Cheshir0067 Дата: Суббота, 22.11.2014, 16:04 | Сообщение № 4
Группа: Проверенные
Ранг: Новичок
Сообщений: 35
Репутация: 8 ±
Замечаний: 0% ±

Excel 2010
Вы можете нажимая 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]


irelandzp@gmail.com
 
Ответить
СообщениеВы можете нажимая 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]

Автор - Cheshir0067
Дата добавления - 22.11.2014 в 16:04
Delfato Дата: Суббота, 22.11.2014, 16:09 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 9
Репутация: 1 ±
Замечаний: 0% ±

Excel 2013
Спасибо, еще раз!
 
Ответить
СообщениеСпасибо, еще раз!

Автор - Delfato
Дата добавления - 22.11.2014 в 16:09
Мия Дата: Вторник, 21.06.2016, 15:07 | Сообщение № 6
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Здравствуйте! Не стала создавать новую тему, потому как эта очень похожа.
Прошу помощи в таком вопросе:
Есть исходные данные, в которых каждый товар повторяется в n-количестве строк, соответствующим каждому продавцу. Мне приходится тратить кучу времени на проставление цены каждого продавца на один и тот же товар. В другом виде директор информацию видеть не хочет.
Вашими волшебными макросами к сожалению не владею. Подробности в файле.

Помогите пожалуйста. pray
[moder]И все-таки Ваш файл отличается от исходного, создайте свою тему.
И напишите, почему именно макросами нужно? Для Вашей таблицы обычная сводная подойдет.[/moder]
К сообщению приложен файл: Primer.xls (77.0 Kb)


Сообщение отредактировал Manyasha - Вторник, 21.06.2016, 15:17
 
Ответить
СообщениеЗдравствуйте! Не стала создавать новую тему, потому как эта очень похожа.
Прошу помощи в таком вопросе:
Есть исходные данные, в которых каждый товар повторяется в n-количестве строк, соответствующим каждому продавцу. Мне приходится тратить кучу времени на проставление цены каждого продавца на один и тот же товар. В другом виде директор информацию видеть не хочет.
Вашими волшебными макросами к сожалению не владею. Подробности в файле.

Помогите пожалуйста. pray
[moder]И все-таки Ваш файл отличается от исходного, создайте свою тему.
И напишите, почему именно макросами нужно? Для Вашей таблицы обычная сводная подойдет.[/moder]

Автор - Мия
Дата добавления - 21.06.2016 в 15:07
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Сводные данные из таблицы при условии соответствия (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!