|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
17.09.2009, 18:29 | #1 |
Новичок
Джуниор
Регистрация: 17.09.2009
Сообщений: 7
|
Создать лист, где каждая улица будет повторяться только один раз
есть таблица, в B-столбце - названия улиц (много повторяющихся, не вперемешку), в C-столбце - номера домов. нужен макрос, который создаст лист, где в каждая улица будет повторяться только один раз, а в С-ячейке номера домов будут записаны через запятую.
|
18.09.2009, 04:42 | #2 |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
Как уже говорил уважаемый EducatedFoool, нет ни малейшего желания воссоздавать Ваш файл. Будет пример - будет и незамедлительный ответ. Тем более, что названия улиц могут быть написаны по разному.
Чем шире угол зрения, тем он тупее.
|
18.09.2009, 12:02 | #3 |
Новичок
Джуниор
Регистрация: 17.09.2009
Сообщений: 7
|
вот - пример оригинального файла, где каждому дому соответствует улица и индекс, а также пример результирующего файла, где дома сгруппированы по улицам и индексам
|
18.09.2009, 16:43 | #4 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Макрос получился сложный, поэтому даже не спрашивайте, как он работает
Код:
|
18.09.2009, 17:36 | #5 |
Новичок
Джуниор
Регистрация: 17.09.2009
Сообщений: 7
|
Огромное спасибо, все отлично работает. Только несколько маленьких проблем:
1) добавилась еще одна колонка - район города (примеры файлов прилагаются); 2) столкнулся с вариантом, когда слишком много домов находятся на одной улице и имеют одинаковый индекс - значение получается слишком длинным и не помещается в одну ячейку. Даже не знаю, что делать в таком случае - править руками? 3) основная таблица (для которой и нужен макрос) больше 2600 строк - это никак не повлияет на макрос? Еще раз - огромное спасибо за помощь. |
18.09.2009, 18:05 | #6 | |||
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Цитата:
Цитата:
Придумаете, что делать - попробую реализовать в виде кода. Цитата:
2600 строк - это совсем немного. Макрос справится. |
|||
18.09.2009, 18:27 | #7 |
Новичок
Джуниор
Регистрация: 17.09.2009
Сообщений: 7
|
Посылаю большую таблицу, на 10 строке создаваемой макросом таблицы начинается неразбериха.
|
18.09.2009, 18:33 | #8 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
|
18.09.2009, 18:53 | #9 |
Новичок
Джуниор
Регистрация: 17.09.2009
Сообщений: 7
|
Я понял, в чем дело. Все дело в автофильтрах и "примерности" моего проверочного файла. Рабочий файл еще не готов и я индексы и районы поставил "от фонаря". Поэтому автофильтр группирует дома, между которыми могут находиться сотни строк. А это нежелательно, потому как дома (пусть даже имеющие одинаковые названия улиц и индексы), но расположенные не подряд нельзя объединять в одну ячейку. Сорри, но такая вот специфика.
Прилагаю куски таблиц, такую как генерирует макрос и такую как она должна быть. Еще раз спасибо за помощь. |
18.09.2009, 19:23 | #10 | |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Цитата:
Возможно, другие форумчане предложат Вам более подходящий вариант решения. Удачи! |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как выполнить действие только один раз? | dolphin705 | Общие вопросы Delphi | 5 | 25.08.2009 09:33 |
timer срабатывает только один раз! | KWN, lnc | Общие вопросы Delphi | 1 | 05.03.2009 12:58 |
Из заданной символьной строки, выбрать те символы, которые встречаются в ней только один раз... | Banny | Паскаль, Turbo Pascal, PascalABC.NET | 3 | 19.12.2008 06:15 |
Как высчитывать ячейку только один раз? | Человек | Microsoft Office Excel | 2 | 20.12.2006 20:57 |
Как сделать что-бы Таймер срабатывал только один раз? | Greg | Компоненты Delphi | 11 | 16.12.2006 01:25 |