![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#11 |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
![]()
Попробуйте предлагаемый ниже вариант, который должен работать значительно быстрее (65000 строк за единицы секунд).
Код:
Чем шире угол зрения, тем он тупее.
|
![]() |
![]() |
![]() |
#12 |
Пользователь
Регистрация: 15.04.2009
Сообщений: 20
|
![]()
Оно может и работает но что то не так, я не понял если можно поясни пошагово, заранее спасибо.
Действительно быстро но где то ошибка. не те строки удаляет. Еше раз поясню задачу, возможно не правильно сказал (не точно). Есть таблица, которая содержит более 52000 строк, мне надо удалить лишние диапазоны строк. Првая которая остаеться номер 2, потом 8. то есть каждая шестая, удалять надо 3-7, потом 4-8 и т.д. до конца списка. Последний раз редактировалось Vik-00; 17.04.2009 в 11:39. |
![]() |
![]() |
![]() |
#13 | |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
![]()
А в Вашем первом посте написано:
Цитата:
Код:
Код:
Определяем последнюю строку и последний столбец использованного диапазона листа и все данные заносим в двумерный (строка Х столбец) массив "a". Затем создаем пустой массив "b" той же размерности. Организуем цикл по строкам массива, и как только строка становится кратной 6, то заносим все элементы столбцов в первую строку массива "b" (вторая размерность во внутреннем цикле). Это сделано для того, чтобы ячейки (строки) листа вообще не трогать, т.к. с памятью работать существенно быстрее. По окончании цикла, очищаем лист со строки 3 до конца и вставляем в ячейки данные из полученного массива "b".
Чем шире угол зрения, тем он тупее.
|
|
![]() |
![]() |
![]() |
#14 |
Пользователь
Регистрация: 15.04.2009
Сообщений: 20
|
![]()
Да спасибо, все работает и очень быстро буквально 2-3 секунды. Надо изучить как работают эти двухмерные массивы и оптимизировать весь код.
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
удаление строк | alexk | Microsoft Office Excel | 24 | 15.02.2011 08:34 |
Удаление из ListBox строк | S.T.A.L.K.E.R. | Общие вопросы Delphi | 2 | 27.09.2009 05:15 |
Удаление строк из Memo | Leksda | Общие вопросы Delphi | 6 | 20.03.2009 15:31 |
Удаление строк | Dr.Badnezz | Общие вопросы Delphi | 1 | 07.10.2008 15:22 |
удаление строк | Dime_x | Microsoft Office Excel | 2 | 07.10.2008 13:38 |