Как удалить в excel строки с определенным текстом

Как удалить в excel строки с определенным текстом

Как удалить строки в Excel по условию? Удаление и скрытие пустых строк и строк, содержащих заданное значение

Прежде чем перейти к теме статьи, разберемся, с чем мы будем иметь дело. Посмотрим на иерархию объектов в Excel. Рабочая книга (Workbook) – это файл Excel, содержащий рабочие листы. Рабочий лист (Worksheet), в свою очередь, представляет собой электронную таблицу, основной тип документа, который используется приложением Excel для хранения и обработки данных. Рабочие листы — это таблицы, состоящие из ячеек, организованных в столбцы и строки и являются частью рабочей книги. Основным элементом электронной таблицы является ячейка. Именно в ячейках содержится информация – текст, значения, формулы. Каждая ячейка имеет свой адрес – номер строки и номер столбца, на пересечении которых находится ячейка. В этой статье более подробно остановимся на строках.

Строки в Excel и основные действия с ними

Количество строк в Excel 2003 – 65 536, а число строк в Excel 2007 и Excel 2010 – уже 1 048 576. Наиболее частыми действиями со строками являются копирование, вставка, добавление новых строк, удаление и скрытие. Без особого труда можно преобразовать Excel строку в столбец и наоборот. Такое преобразование называется транспонированием . Для преобразования строки в столбец необходимо скопировать данные строки, после чего нажать правую кнопку мыши и из контекстного меню выбрать пункт «Специальная вставка…». В появившемся диалоговом окне «Специальная вставка» поставить галочку в поле «транспонировать» и нажать кнопку ОК.

как транспонировать строку в столбец

Все манипуляции со строками не представляют какой-либо особой сложности, но задача существенно усложняется, когда работать приходится с большими объемами данных и в особых условиях, когда к примеру нельзя воспользоваться стандартными средствами Excel, такими как сортировка. В таких случаях на помощь как всегда приходят макросы VBA. С помощью макросов VBA Excel строки легко поддаются обработке, можно например скрыть все пустые строк и или удалить строки содержащие заданный текст.

Далее рассмотрим инструмент, в котором реализовано программное скрытие и удаление пустых строк, а также скрытие и удаление любых строк, по заданным пользователем условиям, при этом все параметры для работы программы задаются не в редакторе программного кода, а в диалоговом окне, что очень удобно. Надстройка работает как с видимыми так и со скрытыми и отфильтрованными строками .

Надстройка для удаления и скрытия строк по условию

1) Скрывать либо удалять строки, подходящие под заданное условие;

2) скрывать либо удалять строки, находящиеся ниже или выше строк, подходящих под заданное условие;

3) скрывать либо удалять заданное количество строк для каждого действия;

4) скрывать либо удалять разное количество строк для каждого действия, если количество строк указано в отдельном столбце;

5) выбирать одно из нескольких условий для искомых значений (совпадает, не совпадает, содержит, не содержит, начинается, не начинается, заканчивается, не заканчивается);

6) находить пустые строки и строки, содержащие заданный текст (либо массив из текстовых значений);

7) осуществлять одновременный поиск различных текстовых выражений, внесенных в поле для ввода текста с использованием знака-разделителя. В качестве знака-разделителя используется (;) точка с запятой;

8) выбирать различные диапазоны для обработки данных;

9) ограничивать выбранные диапазоны номерами строк сверху и/или снизу для избежания повреждения шапок таблиц и строк с разного рода промежуточными итогами;

10) осуществлять поиск текста в строках как с учетом регистра, так и без.

Диалоговое окно надстройки

По изображению диалогового окна можно получить представление о том, какие возможности предоставляются надстройкой — это удаление/скрытие пустых строк и строк, подходящих под заданные условия.

Как скрыть или удалить строки по условию?

На выбор пользователя макрос может удалять/скрывать пустые строки, а может на выбор пользователя скрывать либо удалять строки, удовлетворяющие заданным условиям, например таким как содержание заданного текста, либо отсутствием такового, может учитывать регистр при поиске текста в строках, а может не учитывать. Для того, чтобы при удалении/скрытии в таблицах не пострадала шапка или промежуточные результаты, введено дополнительное ограничение по номерам строк, при помощи которого можно задавать диапазон для действия макроса. Если же диапазон не задан пользователем, то макрос работает со строками так называемого используемого диапазона, то есть со строки, в которой содержится первая заполненная информацией ячейка, до строки с последней заполненной ячейкой. Пользователю также предлагается ограничить обработку данных либо активным листом, либо всеми листами активной рабочей книги.

При помощи надстройки можно производить действия не только с самими строками, которые подходят под заданное условие, но и со строками, которые находятся выше или ниже этих строк. Кроме того, предусмотрена возможность задать количество строк для каждого действия.

Как скрывать или удалять разное количество строк?

Если в диалоговом окне надстройки установить флажок в поле "Разное количество строк", то числовое значение в поле "Для каждого действия, шт." меняется на номер столбца, в котором содержатся значения для каждого действия. В этом случае за каждое действие будет скрыто или удалено столько строк, сколько указано в соответствующей строке заданного столбца.

raznoe kolichestvo udalyaemyh strok

Как скрывать или удалять строки со служебными символами?

При необходимости удаления или скрытия строк со служебными символами, такими как звездочка или знак вопроса, в строке поиска необходимо перед искомым знаком поставить символ "

" тильда, это сигнализирует приложению Excel о том, что следующий за тильдой знак перестает выполнять свои служебные функции и становится обычным символом.

Как в Эксель (Excel) удалить строки по условию?

Как в Excel быстро удалить строки, содержимое которых удовлетворяет определённому условию?

Это удобно сделать с помощью фильтра.

Имеем таблицу данных с заголовком.

Щелкаем на любом месте в заголовке и выбираем на Главной вкладке пункт "Сортировка и фильтр — фильтр".

Фильтруем содержимое таблицы по требуемым условиям, по одному или нескольким столбцам.

Оставшиеся после применения фильтра ячейки / строки выделяем все вместе и выбираем пункт "Удалить строки с листа" (можно выбрать пункт "Удалить — строку" в меню после щелчка правой кнопкой мыши на выделенной ячейке).

Удалились именно те строки, которые были отфильтрованы, остальные остались на месте (нужно убрать все фильтры, чтобы их увидеть).

Я знаю 2 способа, позволяющих удалить определённые строки в Эксель (Excel).

1 способ — с помощью фильтра.

2 способ — с помощью VBA.

Расскажу о каждом способе подробно.

Если это делать с помощью фильтра, то порядок действий такой:

1) Отбираем нужные строки.

3) Убираем фильтр.

В результате в таблице останется только то, что нужно.

В таблице содержаться сведения о товарах и странах-производител­ ях, нужно оставить только импортные товары (то есть удалить строки, где содержится "Россия").

1) Так как нас интересуют строки с определённым значением, то можно поставить фильтр так:

Щёлкнуть по любой ячейке с надписью "Россия" правой кнопкой мыши, а затем в контекстном меню выбрать пункт "Фильтр по значению выделенной ячейки".

2) В итоге останутся видимыми только те строки, которые требуется удалить.

Выделяем все строки и щёлкаем по выделенному правой кнопкой мыши, в контекстном меню выбираем "Удалить строки".

3) Строки удалятся, и таблица будет пустой (так как там пока стоит фильтр).

4) Снимаем фильтр с помощью кнопки на панели инструментов "Сортировка и фильтр".

Теперь можно убедиться, что в таблице остались строчки с только импортными товарами.

Нужно оставить только фрукты, стоящие > 100 рублей.

Здесь фильтр по значению ячейки уже не подойдёт, поэтому поступаем по-другому:

1) Щёлкаем левой кнопкой мыши по любой ячейке столбца с ценой и вызываем фильтр — с помощью копки "Фильтр" на вкладке "Данные" или с помощью копки "Сортировка и фильтр" на вкладке "Главная".

2) Теперь щёлкаем по специальной стрелочке на столбце с ценой, и выбираем "Числовые фильтры" -> "Меньше".

3) В появившемся окне вводим 100 и нажимаем на "OK".

4) Останутся строки с ценой 100.

Для удаления строк по определённому условию в VBA можно написать цикл, в котором перебираются все строки и одна (несколько) ячеек сравниваются с определённым значением.

Если условие выполняется, тогда удаляем строку с помощью команды Delete.

Создаём кнопку и привязываем к ней код (это самое простое, что можно придумать):

Dim i As Integer

Чтобы удалить определенные строки в Excel, нажмите "надстройки" и под меню "главная" будет маленькое окошко, надо нажать на него, выпадет меню "удаление/скрытие ячеек по умолчанию", отмечаем строку "ячейки с текстом", под этой строкой есть пустая, туда вводим текст, который должен быть в удаляемых ячейках, далее выбираем "в диапазоне листа", если действие нужно на нескольких страницах, выбираем "в диапазоне листов", далее "удалить строки/ячейки" и нажимаем "пуск". Выпадет меню "обработка завершена", жмем "ок".

Второй вариант удаляем выделенные строки. Для этого выделим их мышью. И поступаем как в первом способе. Можно удалять ячейки со сдвигом и т.д.

Смотрите поясняющее видео прямо на сайте Большой Вопрос

Ссылка на основную публикацию