Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.08.2016, 00:18   #1
Morozeckiy
Пользователь
 
Регистрация: 09.11.2015
Сообщений: 36
По умолчанию Сбор информации по одинаковым ячейкам

Доброй ночи всем. Может кто подскажет, есть ли макрос на вот такие условия.

есть столбец с названием вещи, названия повторяются и идут подряд. В соседней колонке идет размер вещи. Размер повторяется, но в пределах вещи он уникален. Короче говоря, одна вещь в разных размерах.
Так вот, нужно собрать размеры, которые принадлежат одной вещи, склеить их через символ и протянуть к каждой вещи свои размеры.
Пример во вложении, наверное там будет понятней.
Буду благодарен за помощь.
Вложения
Тип файла: xlsx пример.xlsx (8.9 Кб, 10 просмотров)
Morozeckiy вне форума Ответить с цитированием
Старый 27.08.2016, 00:33   #2
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

У Вас там в результатах есть ошибки.
А сделать можно с помощью UDF:
Код:
=VLOOKUPCOUPLE($A$2:$B$21;1;A2;2;"##")
Код есть где-то тут на форуме, да и в сети найти не проблема.
Или есть аналогичная функция пользователя СЦЕПИТЬЕСЛИ(), но там другие аргументы, посложнее, но чуть больше функционал.
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 27.08.2016, 10:01   #3
Morozeckiy
Пользователь
 
Регистрация: 09.11.2015
Сообщений: 36
По умолчанию

Да, ошибки от ночного ввода, так не должно быть)
По функции геморно, нужно кусок кода вставить в уже готовый макрос, который приводит кривой файл к готовому для этой обработки. Вот покопался нашел, что подходит, только там есть две проблемы

Код:
Sub Macro1()
i = 1
k = 1

Do While Cells(i, 1) <> 0
    
    j = Cells(i, 2)
    
    Do While Cells(i + 1, 1) = Cells(i, 1)
    
        j = j & Chr(10) & "##" & Cells(i + 1, 2)
        i = i + 1
    Loop
    
    
    Cells(k, 6) = j
    i = i + 1
    k = k + 1
Loop

End Sub

1. обработка прерывается на середине, не понимаю почему. Как ее зациклить до конца файла? Может проблема в том, что по середине позиция с одним размерам?
2. макрос объединяет все в одну ячейку, а необходимо, что бы он копировал их напротив этих одинаковых позиций.
Morozeckiy вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
сбор информации с сайтов pikasevich Свободное общение 19 07.09.2013 20:17
Сбор информации из нескольких книг в одну Dunaevba Microsoft Office Excel 4 21.03.2013 10:57
Сбор информации с сайта Александр. Фриланс 3 18.05.2012 17:28
Сбор информации в один лист по запросу Жанна Ефимчук Microsoft Office Excel 2 20.01.2011 15:07
Сбор информации CraZZy RabbIt Общие вопросы Delphi 11 25.02.2009 01:00