Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.01.2013, 18:35   #1
myosotis
 
Регистрация: 15.11.2011
Сообщений: 9
По умолчанию Как удалить все строки кроме первой, после автофильтра

Здравствуйте!
есть таблица, в которой несколько раз повторяется одна строка. Но она нужна только один раз, т.к. служит заголовками столбцов. С помощью фильтра выделены все эти строки. Как удалить в этой выборке все, кроме первой строки?
пример приложен.. там на 2 листе по кнопке срабатывает фильтр. как удалить строки 5,8?
Вложения
Тип файла: zip пример.zip (15.6 Кб, 12 просмотров)
myosotis вне форума Ответить с цитированием
Старый 30.01.2013, 19:19   #2
Скрипт
Форумчанин
 
Регистрация: 24.12.2012
Сообщений: 776
По умолчанию

myosotis, в ходе применения автофильтра, объект "AutoFilter" не предоставляет никаких данных о результате фильтрации.

Смысл фильтрации заключается в том, что ненужные строки скрываются. Т.е. нужно пройтись по строкам и посмотреть - скрыта строка или нет. Если не скрыта, то посмотреть - не является ли она первой строкой на листе. Если не является первой, то удалить.

Проверить, скрыта ли строка или нет, можно с помощью двух инструментов: Height и Hidden. Если строка скрыта, то Height равна нулю.


Примечание
  1. Команда Hidden относится только к целой строке.
    Если вы просматриваете ячейку, то к целой строке можно так обратиться:
    Код:
    ActiveCell.EntireRow
  2. Когда удаляете строки на листе Excel, то не забывайте, что порядковые номера строк меняются. Поэтому проще удалять строки, идя снизу вверх.

Последний раз редактировалось Скрипт; 30.01.2013 в 19:22.
Скрипт вне форума Ответить с цитированием
Старый 30.01.2013, 19:31   #3
myosotis
 
Регистрация: 15.11.2011
Сообщений: 9
По умолчанию

Нашла другое решение - через встроенное удаление дубликатов.
Код:
ActiveSheet.Rows.RemoveDuplicates Columns:=Array(1, 2, 3), Header:=xlNo
myosotis вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
удалить все четные элементы, кроме первого такого. александр6642 Помощь студентам 1 30.10.2012 11:10
удалить все кроме выбранного цвета Cayman Microsoft Office Excel 15 26.03.2012 07:00
Из текста удалить все цифры, стоящие перед первой буквой Aleksandr15 Помощь студентам 4 30.03.2011 11:32
Удалить все символы между первой и второй двокрапкой. Wild_klas Помощь студентам 3 20.11.2010 21:57
Как удалить все строки в Excel содержащие.. Dux Microsoft Office Excel 15 11.09.2009 04:41