Страницы: 1
RSS
Макрос: удаление строк по фильтру
 
Всем привет, мне очень нужна ваша помощь...
В общем нужен код для макроса, чтоб применил фильтр и выделял все заполненные строки и удалял их.

Проблема в том что после применения фильтра на строке А1 остаются строки которые соответствуют выбранному фильтру, но нумерация строк все время разная, т.е. После строки А1 может следовать А4 или А16 и т.д. и мне надо чтоб он после применения фильтра выделял все заполненные строки после А1 ...

Если я записываю макрос и после применения фильтра у меня начинается выделение с 16 строки
Код
Rows("16:16").Select
А в следующий раз после применения фильтра у меня после строки А1 идет А4 например и фильтр чистит с 16 строки... или вовсе сбивается....

Можно это как-нибудь запилить, Надеюсь на вашу помощь...
 
Вам нужно удалить видимые или скрытые строки после применения фильтра?
Вариант. Цикл по строкам с низу вверх - Проверка их на видимость/невидимость - Удаление видимой/невидимой
Согласие есть продукт при полном непротивлении сторон
 
Sanja, нет мне надо применить фильтр удалить значения (строки) потом фильтр очистить, чтоб остальные значения остались.
Изменено: kenny - 15.07.2016 20:50:24
 
Цитата
kenny написал: Sanja , нет
Что "нет"? Я спросил КАКИЕ строки удалить? Которые фильтр спрятал или не спрятал?
Изменено: Sanja - 15.07.2016 20:57:16
Согласие есть продукт при полном непротивлении сторон
 
Sanja, Простите, непонял вопроса, мне нужно удалить строки которые фильтр не спрятал.
 
Алгоритм я Вам написал в том-же сообщении
Согласие есть продукт при полном непротивлении сторон
 
Посмотрите и примените, #21
http://www.planetaexcel.ru/forum/index.php?PAGE_NAME=read&FID=5&TID=53509&PAGEN_1=5
 
kenny!
Попробуйте при записи макрорекордером использовать штатный режим "Выделение группы ячеек" в 2010 ("Перейти" в 2003): см. картинку в файле.
Очень удобно: выделил, удалил.
При этом не забывать выполнять контроль фильтра на вкл./выкл.
 
Код
      .AutoFilter.Range.Offset(1).Delete Shift:=xlUp    ' Excel 2010
      .AutoFilter.Range.Offset(1).SpecialCells(xlCellTypeVisible).EntireRow.Delete Shift:=xlUp    ' Excel 2007

Второй вариант работает всегда, а вот первый в каких-то сборках 2007 не желает
 
RAN, Все работает, Спасибо огромное!!!)))

P.S. А тут как-нибудь возможно плюсик поставить? Репутацию или лайк???
Страницы: 1
Читают тему
Наверх