|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
31.05.2011, 19:37 | #1 |
Форумчанин
Регистрация: 24.01.2011
Сообщений: 136
|
Убрать дубликаты и подсчёт суммы по каждому уникальному значению.
Уважаемые знатоки Excel. Помогите пожалуста доработать макрос. Есть на листе "Массив" список фамилий в столбце А, а рядом в столбце В число, напротив каждой фамилии. Фамилии повторяются. На вашем форуме я нашёл макрос, который очень быстро делает список фамилий без повторов (уникальные значения) и выводит его на лист "Выводы". Дальше необходимо по каждой уникальной фамилии посчитать сумму по столбцу В ,с листа "Массив" и записать её на лист "Выводы". Сделал я это с помощью функции Find (поиск). Но у меня эта часть макроса работает очень медленно. Вопрос к Вам : Как ускорить эту часть макроса?? Т.е. во вложенном Excel после появления
MsgBox "Выполнено за " & timeGetTime - d & " милисекунд" доработать код. Спасибо за ответ.. |
31.05.2011, 21:05 | #2 |
Участник клуба
Регистрация: 02.05.2010
Сообщений: 1,390
|
Он у Вас еще и считает не все.
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728 |
31.05.2011, 21:06 | #3 |
Форумчанин
Регистрация: 25.04.2010
Сообщений: 616
|
Юзаем зеленую стрелку.
Данные сократил - слишком большой файл. |
31.05.2011, 21:19 | #4 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
Я универсальный код для таких задач написал:
http://www.planetaexcel.ru/forum.php?thread_id=26105 Вашу задачу на полном файле делает секунды за полторы. Просто выделяете два столбца и запускаете по Alt+F8 код из открытого в фоне файла по ссылке. Результат будет в новой книге. Результат как у Николая, только общего подсчёта нет - это не универсальная задача
webmoney: E265281470651 Z422237915069 R418926282008
Последний раз редактировалось Hugo121; 31.05.2011 в 21:22. |
31.05.2011, 22:07 | #5 |
Форумчанин
Регистрация: 25.04.2010
Сообщений: 616
|
|
31.05.2011, 22:42 | #6 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
Да, спасибо за замечание.
Тогда нужно доделать - сперва переложить без транспонирования в массивы/массив, потом их выгрузить. Займусь на досуге...
webmoney: E265281470651 Z422237915069 R418926282008
|
01.06.2011, 09:04 | #7 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
Убрал Transpose - сразу набираем данные в массив, который будем выгружать.
Немного изменил по мелочи для ускорения. 42000 строк с 4-мя уникальными обрабатывает за полсекунды. Код:
webmoney: E265281470651 Z422237915069 R418926282008
|
01.06.2011, 10:25 | #8 |
Форумчанин
Регистрация: 24.01.2011
Сообщений: 136
|
Спасибо всем ответившим !! Предложенные варианты работают очень быстро..
|
02.06.2011, 08:19 | #9 |
Пользователь
Регистрация: 09.03.2011
Сообщений: 33
|
Всем здрасте!
Может не совсем по теме, но все же... Хочется поподробней узнать о принципах работы с коллекцией и, как частного случая- со словарем. В хэлпе справка какая-то замученная. Может кто ссылками поделится? |
02.06.2011, 10:11 | #10 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
Dictionary - это совсем не сложно!
Alex_ST постарался (описание свойств и методов объектов Dictionary и Collection) : http://www.excelworld.ru/forum/3-313-1
webmoney: E265281470651 Z422237915069 R418926282008
Последний раз редактировалось Hugo121; 02.06.2011 в 10:15. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
убрать дубликаты | Nasten'ka7 | Microsoft Office Excel | 1 | 21.03.2011 18:49 |
подсчёт суммы, если меняется количество слагаемых | kaa1977 | Microsoft Office Excel | 1 | 17.03.2011 17:52 |
окрасить дубликаты | Romuald | Microsoft Office Excel | 5 | 07.03.2011 16:33 |