![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 27.09.2010
Сообщений: 40
|
![]()
всем дня доброго.
имею 2мерный массив, обрабатываю его построчно, т.е. в определенный момент времени имею номер строки массива, как удалить эту строку целиком? вот как строку удалить в таблице - умею, в массиве, не нашел(( |
![]() |
![]() |
![]() |
#2 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,858
|
![]()
Надо переформировывать массив заново.
Можете воспользоваться моей функцией автофильтра для двумерного массива - задаёте параметры для ArrAutofilterEx, и из массива удаляются все неподходящие строки: http://excelvba.ru/code/ArrAutofilter http://excelvba.ru/code/DeleteBlankRows |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 27.09.2010
Сообщений: 40
|
![]()
не открываются линки
|
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 27.09.2010
Сообщений: 40
|
![]()
надо осваивать применение sql в тесте кода vba))))
|
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 27.09.2010
Сообщений: 40
|
![]()
я так понимаю во такая конструкция это делает?
ReDim Preserve nArr(UBound(nArr) - 1) хотя нет.. |
![]() |
![]() |
![]() |
#6 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
![]()
вот пример возможных действий
Код:
тогда надо было бы посчитать адреса, одним оператором перенести данные, следующим оператором очистить последнюю строку массива, а не циклы гонять.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
Последний раз редактировалось IgorGO; 12.10.2010 в 11:59. |
![]() |
![]() |
![]() |
#7 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
![]()
ReDim Preserve nArr(UBound(nArr) - 1)
уменьшает размер массива на 1 элемент, сохраняя остальные значения. если nArr -это Ваш двумерный массив, то получите Run-time error '9'. для двумерного массива надо указать какую размерность уменьшаем.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 25.04.2010
Сообщений: 616
|
![]()
Еще примерчик
Код:
|
![]() |
![]() |
![]() |
#9 | |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
![]() Цитата:
На мой взгляд, если это, конечно, возможно, лучше сначала выявить все строки массива, которые требуется удалить, а уже затем сформировать новый, требуемый массив, что будет существенно быстрее, нежели каждый раз перебирать исходный массив, тем более использовать ReDim Preserve.
Чем шире угол зрения, тем он тупее.
|
|
![]() |
![]() |
![]() |
#10 | |
Пользователь
Регистрация: 27.09.2010
Сообщений: 40
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
VBA_макрос: удалить всю строку в таблице, если в ней есть слово "удалить" | макарошка | Microsoft Office Excel | 15 | 05.10.2010 09:09 |
удалить дубли в tstringlist, и удалить по списку | AHTOLLlKA | Компоненты Delphi | 2 | 17.01.2010 10:20 |
как удалить одиннаковые элементы в массиве? | -ushёl- | Помощь студентам | 22 | 15.05.2009 23:07 |
Как удалить строки и столбцы в массиве | ЛесенОК | Свободное общение | 1 | 31.01.2009 18:35 |
как удалить анти вирус( касперский 2006)если она не работает и ее не возможно удалить | Alar | Общие вопросы Delphi | 0 | 29.10.2006 21:36 |