|
|
|
Удаление дублей в Excel
|
|||
|---|---|---|---|
|
#18+
У меня имеется макрос, проверяющий наличие дублей на рабочем листе Excel (список льготников) и удаляющий все дубли, кроме одной записи - льготника с наибольшей суммой. Этот код работает, но мне хотелось бы спросить: 1. Можно ли оптимизировать его в сторону ускорения обработки записей. 2. Существует ли в VBA многопоточность, т.е. могу ли я, например, имея ProgressBar, на этой же форме с помощью динамически изменяющейся надписи показать выполнение процесса (т.е. на какую запись он в данную секунду обрабатывает). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2006, 12:57 |
|
||
|
Удаление дублей в Excel
|
|||
|---|---|---|---|
|
#18+
Не смотрел входные данные. Но на вскидку задержка возникает при большом объёме данных, поэтому один проход для сортировки, другой для удаления. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2006, 14:22 |
|
||
|
Удаление дублей в Excel
|
|||
|---|---|---|---|
|
#18+
Данных, действительно много (7000 строк). Так что, лучше сначала их отсортировать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2006, 16:56 |
|
||
|
Удаление дублей в Excel
|
|||
|---|---|---|---|
|
#18+
Советы: 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 не понадобится? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2006, 20:56 |
|
||
|
Удаление дублей в Excel
|
|||
|---|---|---|---|
|
#18+
Можно совместить сортировку и удаление через Range. Такое удаление действительно в Excel работает быстрее. А сортировку лучше сделать вместо перебора кол_строк х кол_строк при большом количестве строк. Почитай Кнут-а 3 том. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2006, 13:26 |
|
||
|
Удаление дублей в Excel
|
|||
|---|---|---|---|
|
#18+
Здравствуйте,а как можно сделать так: как есть(пример): 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 т.е. поиск и удаление до первых повторяющихся фраз, и оставление одной. Те же фразы могу повторяться через любое кол-во строк.Нужно сделать тоже самое - удалить все из этих ПОДРЯД повторяющихся и оставить только одну. Заранее благодарен ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2010, 09:49 |
|
||
|
Удаление дублей в Excel
|
|||
|---|---|---|---|
|
#18+
Здравствуйте,а как можно сделать так: Есть два столбца,в первом позиционные обозначения(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 т.е. поиск и удаление до первых повторяющихся фраз, и оставление одной. Те же фразы могу повторяться через любое кол-во строк.Нужно сделать тоже самое - удалить все из этих ПОДРЯД повторяющихся и оставить только одну. Заранее благодарен ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2010, 09:54 |
|
||
|
|

start [/forum/topic.php?fid=61&msg=33564707&tid=2177879]: |
0ms |
get settings: |
10ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
190ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
57ms |
get tp. blocked users: |
2ms |
| others: | 236ms |
| total: | 535ms |

| 0 / 0 |
