Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Удаление дублей в Excel / 7 сообщений из 7, страница 1 из 1
25.02.2006, 12:57
    #33564549
AlexanderKR
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление дублей в Excel
У меня имеется макрос, проверяющий наличие дублей на
рабочем листе Excel (список льготников) и удаляющий
все дубли, кроме одной записи - льготника с наибольшей
суммой. Этот код работает, но мне хотелось бы
спросить:
1. Можно ли оптимизировать его в сторону ускорения
обработки записей.
2. Существует ли в VBA многопоточность, т.е. могу
ли я, например, имея ProgressBar, на этой же форме
с помощью динамически изменяющейся надписи показать
выполнение процесса (т.е. на какую запись он в данную
секунду обрабатывает).
...
Рейтинг: 0 / 0
25.02.2006, 14:22
    #33564588
vladvol
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление дублей в Excel
Не смотрел входные данные. Но на вскидку задержка возникает при большом объёме данных, поэтому один проход для сортировки, другой для удаления.
...
Рейтинг: 0 / 0
25.02.2006, 16:56
    #33564707
AlexanderKR
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление дублей в Excel
Данных, действительно много (7000 строк).
Так что, лучше сначала их отсортировать?
...
Рейтинг: 0 / 0
25.02.2006, 20:56
    #33564832
Дмит
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление дублей в Excel
Советы:
1. Не используй переменные Variant.
Dim i, j, z, q As Long - здесь i, j, z объявлены как Variant
2. Функцию AnswerDigit, находящую последнюю строку в столбце замени.
Worksheets(1).Cells(Worksheets(1).Rows.Count, 2).End(xlUp).Row
3. Если объявляешь переменные в процедуре, то присваивать им 0 нет
необходимости.
4. Удаление всех дублей одной инструкцией Rg.Delete
предварительно накопив их:
Dim Rg As Range
Set Rg = Union(Rg, .Rows(j))
5. Изменил циклы. Попробуй, так может и ProgressBar1 не понадобится?
...
Рейтинг: 0 / 0
26.02.2006, 13:26
    #33565605
vladvol
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление дублей в Excel
Можно совместить сортировку и удаление через Range. Такое удаление действительно в Excel работает быстрее. А сортировку лучше сделать вместо перебора кол_строк х кол_строк при большом количестве строк. Почитай Кнут-а 3 том.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
16.07.2010, 09:49
    #36744511
Удаление дублей в Excel
Здравствуйте,а как можно сделать так:
как есть(пример):
C1 K10-73-1
C2 K10-73-1
C3 ECR 25V
C4 ECR 50V
C5 ECR 50V
C6 K10-73-1
C7 K10-73-1
С8 K10-73-1
C9 ECR 25V
C10 ECR 50V

Должно быть:
C1, C2 K10-73-1
C3 ECR 25V
C4, C5 ECR 50V
C6...C8 K10-73-1
C9 ECR 25V
C10 ECR 50V

т.е. поиск и удаление до первых повторяющихся фраз, и оставление одной. Те же фразы могу повторяться через любое кол-во строк.Нужно сделать тоже самое - удалить все из этих ПОДРЯД повторяющихся и оставить только одну.
Заранее благодарен
...
Рейтинг: 0 / 0
16.07.2010, 09:54
    #36744520
Удаление дублей в Excel
Здравствуйте,а как можно сделать так:
Есть два столбца,в первом позиционные обозначения(C1,C2,,,Cn, DA1,Da2,....и т.п.),во втором -номиналы элементов
Как есть(пример):
C1 K10-73-1
C2 K10-73-1
C3 ECR 25V
C4 ECR 50V
C5 ECR 50V
C6 K10-73-1
C7 K10-73-1
С8 K10-73-1
C9 ECR 25V
C10 ECR 50V

Как должно быть:
C1, C2 K10-73-1
C3 ECR 25V
C4, C5 ECR 50V
C6...C8 K10-73-1
C9 ECR 25V
C10 ECR 50V

т.е. поиск и удаление до первых повторяющихся фраз, и оставление одной. Те же фразы могу повторяться через любое кол-во строк.Нужно сделать тоже самое - удалить все из этих ПОДРЯД повторяющихся и оставить только одну.
Заранее благодарен
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Удаление дублей в Excel / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]