powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Удаление дублей в Excel
7 сообщений из 7, страница 1 из 1
Удаление дублей в Excel
    #33564549
AlexanderKR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня имеется макрос, проверяющий наличие дублей на
рабочем листе Excel (список льготников) и удаляющий
все дубли, кроме одной записи - льготника с наибольшей
суммой. Этот код работает, но мне хотелось бы
спросить:
1. Можно ли оптимизировать его в сторону ускорения
обработки записей.
2. Существует ли в VBA многопоточность, т.е. могу
ли я, например, имея ProgressBar, на этой же форме
с помощью динамически изменяющейся надписи показать
выполнение процесса (т.е. на какую запись он в данную
секунду обрабатывает).
...
Рейтинг: 0 / 0
Удаление дублей в Excel
    #33564588
vladvol
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не смотрел входные данные. Но на вскидку задержка возникает при большом объёме данных, поэтому один проход для сортировки, другой для удаления.
...
Рейтинг: 0 / 0
Удаление дублей в Excel
    #33564707
AlexanderKR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Данных, действительно много (7000 строк).
Так что, лучше сначала их отсортировать?
...
Рейтинг: 0 / 0
Удаление дублей в Excel
    #33564832
Дмит
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Советы:
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
Удаление дублей в Excel
    #33565605
vladvol
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Можно совместить сортировку и удаление через Range. Такое удаление действительно в Excel работает быстрее. А сортировку лучше сделать вместо перебора кол_строк х кол_строк при большом количестве строк. Почитай Кнут-а 3 том.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Удаление дублей в Excel
    #36744511
Здравствуйте,а как можно сделать так:
как есть(пример):
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
Удаление дублей в Excel
    #36744520
Здравствуйте,а как можно сделать так:
Есть два столбца,в первом позиционные обозначения(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
7 сообщений из 7, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Удаление дублей в Excel
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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