Всем добрый вечер. Возник вопрос, каким способом можно наиболее быстро удалить строки в примере во вложении. Необходимо удалить все строки с минимальной датой. Дело в том в реальности строк в файле под миллион, циклы и фильтры очень тяжело работают.
Наиболее быстрый способ удаления строк VBA
04.10.2018 22:14:57
|
|
|
|
04.10.2018 23:10:52
Изменено:
По вопросам из тем форума, личку не читаю.
|
|||
|
|
04.10.2018 23:16:43
Может, так попробовать?
Изменено: |
|||
|
|
05.10.2018 01:30:50
Код, аналогичный коду _Igor_61, попробуйте:
Изменено: |
|||
|
|
05.10.2018 20:30:27
Был быстрый код от ZVI (через сортировку). Найду - выложу. Или буду у ПК - выложу слегка доработанный.
«Бритва Оккама» или «Принцип Калашникова»?
|
|
|
|
05.10.2018 20:44:27
Вот нашел от ZVI
«Бритва Оккама» или «Принцип Калашникова»?
|
|||
|
|
05.10.2018 20:48:29
Допилиливал код, когда не требуется доп. столбец. Если будет нужно выложу.
«Бритва Оккама» или «Принцип Калашникова»?
|
|
|
|
15.06.2022 09:00:41
Понимаю, что прошло уже 4ре года... |
|||
|
|
15.06.2022 09:39:28
|
|
|
|
15.06.2022 10:01:46
RAN, судя по Return, это не VBA
Ну а так наиболее высокая скорость будет только при удалении одного сплошного диапазона, что возможно только при сортировке. Все остальные варианты можно ускорить за счёт
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел)
|
|
|
|
15.06.2022 10:18:39
Изменено:
«Бритва Оккама» или «Принцип Калашникова»?
|
|||||
|
|
15.06.2022 10:29:11
Изменено:
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел)
|
|||||||
|
|
15.06.2022 10:42:59
|
|||||
|
|
15.06.2022 11:07:03
RAN, не заметил)) теперь я понимаю, какой переход по меткам не любят - вот такой
Какой смысл скакать в конец и потом возвращаться, если это просто ветка If…Then?… Простите за оффотоп и докопательство - я хоть сам и люблю метки, но вот тут не понимаю, правда
Изменено:
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел)
|
|||||||||||
|
|
15.06.2022 13:36:24
GoSub - как вариант - это замена функции - не нужно передавать параметры и не нужны глобальные переменные. Думаю есть и другие применения GoSub , но я пользуюсь именно этими функционалом.
«Бритва Оккама» или «Принцип Калашникова»?
|
|||
|
|
15.06.2022 13:44:47
Если можно заменить обычной веткой, то зачем: 1. перескакивать в конец процедуры 2. Возвращаться обратно 3. Не забыть выйти из процедуры перед блоком GoSub В применении меток я руководствуюсь тем, что без них код был бы больше, ветвистее и/или запутаннее. Применяю обычно для перехода к следующему элементу цикла, выхода из множества вложенных циклов, прыжка назад (например при необходимости повторного ввода пользователем, пока не введёт правильно) или прыжка в конец, чтобы отобразить общее для множества ситуаций сообщения и/или "включения" обратно всех Application (нужно и в случае аварийного выхода и при штатной работе). Кому как удобно конечно, но я для GoSub пока у себя нигде применения не вижу, а в этом конкретном случае показал, как безболезненно он заменяется на обычное ветвление.
Изменено:
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел)
|
|||
|
|
15.06.2022 14:17:15
Изменено:
«Бритва Оккама» или «Принцип Калашникова»?
|
|||||
|
|
15.06.2022 14:20:44
Jack Famous, замени в моем коде так же безболезненно
Изменено:
«Бритва Оккама» или «Принцип Калашникова»?
|
|||
|
|
15.06.2022 14:33:32
|
|||
|
|
15.06.2022 14:38:36
У тебя 2 обращения и тут уже альтернатива только процедура — с параметрами (много) или глобальными общими переменными. У тебя это ещё хоть как-то уместно (хотя в моём SmartUnion'е я обошёлся без таких сложностей)
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел)
|
|||
|
|
15.06.2022 14:46:56
Если ты говоришь, про конкретный случай, то я его не смотрел, возможно код можно оптимизировать (мой ответ был не про этот случай, а про GoSub (+Return)) Если мы говорим про GoSub (+Return) и про то,
Изменено:
«Бритва Оккама» или «Принцип Калашникова»?
|
|||||
|
|
15.06.2022 15:52:34
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел)
|
|||||
|
|
15.06.2022 16:00:43
А то, что ты с наскока не видишь пряники, так бывает... |
|||||||
|
|
||||||