powered by simpleCommunicator - 2.0.38     © 2025 Programmizd 02
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Удаление большого количества строк по условию
5 сообщений из 5, страница 1 из 1
Удаление большого количества строк по условию
    #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
Удаление большого количества строк по условию
    #39929723
Фотография The_Prist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Guest1
Selection.EntireRow.Delete
попробуйте эту строку записать так:
Код: vbnet
1.
Selection.Cells.SpecialCells(xlTypevisible).EntireRow.Delete
...
Рейтинг: 0 / 0
Удаление большого количества строк по условию
    #39929787
Guest1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
The_Prist,
пока не получилось,
ошибка:
невозможно получить свойство SpecialCells класса Range
описание ошибки и попытка исправления - во вложении.
...
Рейтинг: 0 / 0
Удаление большого количества строк по условию
    #39929792
Фотография The_Prist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Guest1,

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

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


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