Гость
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Удаление большого количества строк по условию / 5 сообщений из 5, страница 1 из 1
21.02.2020, 21:15
    #39929653
Guest1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление большого количества строк по условию
Есть модуль, который удаляет строки из таблицы, если во втором столбце есть значение "3" (см. ниже).
На небольшом количестве строк работает правильно, но если в таблице 50 000 строк почему-то удаляет все строки, а не с "3".
Почему? Как это можно исправить?

Модуль с удалением в цикле каждой строки на большом количестве строк работает долго, поэтому выбран этот способ.


Sub Test()
Selection.AutoFilter Field:=2, Criteria1:="3"
Range("B2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.EntireRow.Delete
End Sub
...
Рейтинг: 0 / 0
22.02.2020, 11:19
    #39929723
The_Prist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление большого количества строк по условию
Guest1
Selection.EntireRow.Delete
попробуйте эту строку записать так:
Код: vbnet
1.
Selection.Cells.SpecialCells(xlTypevisible).EntireRow.Delete
...
Рейтинг: 0 / 0
22.02.2020, 17:07
    #39929787
Guest1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление большого количества строк по условию
The_Prist,
пока не получилось,
ошибка:
невозможно получить свойство SpecialCells класса Range
описание ошибки и попытка исправления - во вложении.
...
Рейтинг: 0 / 0
22.02.2020, 17:41
    #39929792
The_Prist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление большого количества строк по условию
Guest1,

в общем-то все просто - слишком много "рваных" диапазонов. Будет и проще и быстрее сделать так:
1. В отдельном столбце проставляем нумерацию
2. Сортируем столбец, по которому фильтруем(судя по коду - 2)
3. Устанавливаем фильтр
4. Удаляем так, как показано выше.
5. Сортируем обратно по созданному в п.1 столбцу, чтобы вернуть исходный порядок данных
6. Удаляем столбец
...
Рейтинг: 0 / 0
22.02.2020, 18:36
    #39929814
Guest1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление большого количества строк по условию
The_Prist,

Благодарю Вас, спасибо за помощь, получилось после выполнения рекомендаций по сортировке.
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Удаление большого количества строк по условию / 5 сообщений из 5, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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