Как в excel удалить строку

Вставка и удаление строк и столбцов

В этом курсе:

Добавляйте и удаляйте строки и столбцы, чтобы лучше упорядочить лист.

Примечание: В Microsoft Excel установлены следующие ограничения на количество строк и столбцов: 16 384 столбца в ширину и 1 048 576 строк в высоту.

Вставка и удаление столбца

Выделите любую ячейку в столбце, а затем перейдите на вкладку главная > вставьте > Вставить столбцы на лист или удалите столбцы на листе.

Вы также можете щелкнуть правой кнопкой мыши в верхней части столбца и выбрать команду Вставить или Удалить.

Вставка и удаление строки

Выделите любую ячейку в строке, а затем перейдите на вкладку главная > Вставить > Вставить строки или Удалить строки на листе.

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

Параметры форматирования

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

Если кнопка Параметры вставки не отображается, а затем в группе вырезание, копирование и вставка выберите пункт > файл > Дополнительно >, установите флажок Показать кнопки параметров вставки .

Например, чтобы вставить новую ячейку между ячейками “Лето” и “Зима”:

Щелкните ячейку “Зима”.

На вкладке Главная щелкните стрелку под кнопкой Вставить и выберите команду Вставить ячейки (со сдвигом вниз).

Новая ячейка добавляется над ячейкой “Зима”:

Вставка строк

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

Чтобы вставить несколько строк, выполните указанные ниже действия. Выделите одно и то же количество строк, над которым вы хотите добавить новые. Щелкните выделенный фрагмент правой кнопкой мыши и выберите команду Вставить строки.

вставку столбцов

Чтобы вставить один новый столбец, выполните указанные ниже действия. Щелкните правой кнопкой мыши весь столбец справа от того места, куда вы хотите добавить новый столбец. Например, чтобы вставить столбец между столбцами B и C, щелкните правой кнопкой мыши столбец C и выберите команду Вставить столбцы.

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

Удаление ячеек, строк и столбцов

Если вам больше не нужны какие-либо ячейки, строки или столбцы, вот как удалить их:

Выделите ячейки, строки или столбцы, которые вы хотите удалить.

На вкладке Главная щелкните стрелку под кнопкой Удалить и выберите нужный вариант.

При удалении строк или столбцов следующие за ними строки и столбцы автоматически сдвигаются вверх или влево.

Совет: Если вы передумаете сразу после того, как удалите ячейку, строку или столбец, просто нажмите клавиши CTRL+Z, чтобы восстановить их.

Дополнительные сведения

Вы всегда можете задать вопрос специалисту Excel Tech Community, попросить помощи в сообществе Answers community, а также предложить новую функцию или улучшение на веб-сайте Excel User Voice.

Источник: support.office.com

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

Работая с большими объемами данных в таблицах Excel, мы часто сталкиваемся с наличием пустых строк в Excel. Для того чтобы убрать пустые строки есть несколько способов:

  • с помощью сортировки данных;
  • с помощью фильтрации данных;
  • с помощью выделения группы ячеек;
  • с помощью вспомогательного столбца;

Давайте рассмотрим каждый из них.

Как удалить пустые строки в Excel с помощью сортировки

Представим, что у нас есть таблица с данными продаж по разным странам и городам:

В этой таблице есть пустые строки. Наша задача их удалить. Мы можем сделать это поочередно, выделяя каждую пустую строку, и правой клавишей мыши удалять строки. Более простой способ это отсортировать пустые строки и затем одним движением их удалить.

Для того чтобы отсортировать данные нашей таблицы проделаем следующие шаги:

  • Выделим левой клавишей мыши диапазон данных таблицы, затем на вкладке “Данные” нажмем на кнопку “Сортировка”:

  • В появившемся диалоговом окне сортировки выберем столбец, по которому будут отсортированы данные и укажем их порядок:

  • После этого система автоматически отсортирует строки с пустыми ячейками, и разместит их внизу таблицы:

  • Затем, выделите пустые строки левой клавишей мыши и удалите их, нажав правой кнопкой мыши и выбрав пункт “Удалить”:

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

Как удалить пустые строки в Excel с помощью фильтрации

Для того чтобы удалить строки в той же самой таблице, но уже с помощью фильтрации, проделаем следующие шаги:

  • Выделим левой клавишей мыши диапазон данных таблицы, затем на вкладке “Данные” нажмем на кнопку “Фильтр”:

Важно! Для корректной фильтрации данных обязательно, перед нажатием кнопки “Фильтр”, выделите область со значениями таблицы, включая пустые строки. Если этого не сделать – фильтрация данных таблицы будет осуществляться до первой пустой строки!

  • Нажмите на выпадающий список фильтра любого из заголовков таблицы и выберите пустые строки:

  • После того как пустые строки выбраны, выделите их и удалите, как это показано на примерах выше.

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

Как убрать пустые строки в Excel с помощью выделения группы ячеек

Для удаления пустых строк можно воспользоваться инструментом выделения группы ячеек. Для этого:

  • Выделите ячейки с данными вашей таблицы;
  • Перейдите в меню “Найти и выделить” и выберите пункт “Выделить группу ячеек”:

  • Во всплывающем окне отметьте пункт “Пустые ячейки”:

  • Система автоматически выделит все пустые ячейки:

  • Для удаления выделенных строк, нажмите на любой из правой кнопкой мыши и выберите пункт “Удалить”:

  • Затем, во всплывающем окне выберите пункт “Строку”:

Внимание! Будьте аккуратны с использованием данного способа! Удаляя выделенные ячейки, есть высокая вероятность того, что вы удалите строки с данными, например, в которых есть только одна пустая ячейка, а в соседних ячейках строки есть данные!

Как удалить пустые строки в Экселе с помощью вспомогательного столбца

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

Представим, что в нашей таблице с данными есть строки, в которых всего лишь одна ячейка пустая, а остальные ячейки в строке содержат данные (на примере ниже выделены ячейки выделены желтым цветом).

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

Поэтому, чтобы избежать потери данных при удалении пустых строк, создадим справа от таблицы столбец, в который вставим функцию СЧИТАТЬПУСТОТЫ, в ней укажем диапазон всех ячеек каждой строки таблицы и протянем формулу до конца таблицы:

  • Функция СЧИТАТЬПУСТОТЫ ведет подсчет пустых ячеек в указанном диапазоне. Так как столбцов в нашей таблице с данными 4 штуки, то если во вспомогательном столбце мы найдем значение “4” это будет означать, что эта строка в таблице пустая и ее можно удалить. Для этого отфильтруем значения таблицы по вспомогательному столбцу по числу “4” и определим пустые строки:

  • Пустые строки найдены. Теперь их можно выделить и удалить.

Источник: excelhack.ru

Удаление пустых строк в таблице Excel

Когда в таблице Excel есть пустые строки, ее внешний вид выглядит не очень привлекательно. Кроме того, наличие пустых строк в некоторых случаях значительно может затруднить процесс навигации по документу, ведь понадобится прокручивать лишние строки для перехода к нужной информации. Также при распечатке документа потребуется больше бумаги.

Читайте также:  В excel посчитать количество строк

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

Простой способ удаления пустых строк

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

  1. Отмечаем область пустых ячеек в строках, которые предстоит удалить.
  2. Щелкаем по любому месту выделенной области правой кнопкой мыши и в появившемся контекстном меню кликаем по функции “Удалить…”.
  3. Откроется окно с опциями удаления, в котором ставим отметку “строку” и нажимаем OK.
  4. Готово, выбранные строки в таблице удалены.

Использование горячих клавиш

  1. Выделяем нужную область и нажимаем на клавиатуре комбинацию клавиш “Ctrl” и “-“.
  2. Откроется то же самое окно, что и в рассмотренном выше способе. Ставим отметку напротив пункта “строку” и завершаем действие, нажав OK.

Задействование ленты инструментов:

  1. Выделяем пустые ячейки в требуемых строках.
  2. Переключаемся во вкладку “Главная” и в разделе “Ячейки” нажимаем на кнопку “Удалить”.

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

  1. Для этого наводим курсор на вспомогательную панель с нумерацией строк, курсор должен при этом изменить вид на стрелку, направленную горизонтально вправо. Теперь, зажав левую кнопку мыши производим выделение от первой до последней строки требуемого диапазона. В данном случае будет выполнено выделение всех ячеек выбранных строк даже за пределами таблицы.
  2. Теперь, когда мы вызовем контекстное меню и выберем в нем пункт “Удалить”, отмеченные строки незамедлительно удалятся, минуя промежуточное окно с перечнем опций удаления.

Как видите, методы, описанные выше, достаточно просты и выполняются буквально за несколько шагов. Вы можете пользоваться любым из них, который посчитаете самым удобным. Однако, нужно принять во внимание тот факт, что удаление строк таким образом – не самое безопасное и быстрое решение, когда речь идет о больших таблицах, в которых пустые строки могут быть разбросаны в разных уголках книги.

Удаление пустых строк через сортировку данных

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

Для выполнения поставленной задачи придерживаемся следующего алгоритма действий:

  1. Для начала выделяем всю область ячеек, в которой располагается таблица. Затем переключаемся во вкладку “Данные” и нажимаем на кнопку “Сортировка”.
  2. Здесь нам нужно настроить параметры сортировки, после чего нажимаем OK.
    • для параметра “Сортировать по” указываем столбец, на основании которого будет происходить сортировка (в нашем случае – “Наименование”).
    • сортировать будем по значению ячеек.
    • порядок сортировки – от “А до Я”.
    • не забываем ставить галочку “Мои данные содержат заголовки”, если в таблице, действительно, присутствуют заголовки.
  3. В результате сортировки в самом низу нашей таблицы должны расположиться все ячейки без содержания. После этого их можно очень просто убрать из документа, воспользовавшись методами, описанными ранее.

В случае, когда важно сохранить исходный порядок ячеек/строк в таблице, делаем следующее:

  1. Прежде чем приступать к сортировке данных добавляем в таблице дополнительный столбец и проставляем порядковые номера в каждой ячейки этого столбца.
  2. После этого приступаем к сортировке данных, выбрав для этого любой столбец, за исключением только что созданного. Пусть это снова будет столбец “Наименование” в нашем случае.
  3. Удаляем пустые строки в конце таблицы.
  4. Теперь снова выполняем сортировку данных, но теперь в качестве основы сортировки выбираем столбец с порядковым номерами, который мы создали. Порядок выбираем “По возрастанию”.
  5. Строки расположились в том же порядке, что и в исходной таблице, только теперь без пустых элементов.
  6. Теперь, когда необходимость в дополнительном столбце с порядковыми номерами отпала, отмечаем его и удалям, пользуясь теми же способами, что и для удаления строк.

Как удалить пустые строки с помощью фильтра

Еще один метод удалить пустые строки из таблицы – применить инструменты фильтрации.

  1. Производим выделение таблицы целиком любым удобным способом. Переключаемся во вкладку “Данные”, в разделе “Сортировка и фильтр” нажимаем на кнопку “Фильтр”.
  2. В шапке нашей таблицы появятся значки фильтра на всех столбцах с правой стороны ячеек (в виде небольшого треугольника, направленного вниз).
  3. В любом из столбцов кликаем по данному значку. В появившемся списке убираем галочки напротив всех значений, кроме пункта “Пустые” и нажимаем кнопку OK.
  4. Выделяем строки, которые остались в таблице, открываем контекстное меню щелчком правой кнопки по выделенной области и кликаем по функции “Удалить строку”.
  5. Теперь, если нам больше не нужна фильтрация данных, ее можно выключить, повторно нажав на кнопку “Фильтр” во вкладке “Данные”.

Использование функции выделения

  1. Для начала выделяем все ячейки таблицы. В разделе “Редактирование” (вкладка “Главная”) нажимаем на кнопку “Найти и выделить”, значок которой выглядит как лупа, и в открывшемся перечне выбираем пункт “Выделить группу ячеек…”.
  2. В открывшемся вспомогательном окне ставим флажок напротив опции “пустые ячейки” и подтверждаем действие нажатием кнопки OK.
  3. Теперь можно приступить к удалению отмеченных ячеек, воспользовавшись, например, кнопкой “Удалить”, которая расположена в разделе “Ячейки” (вкладка “Главная”).

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

Заключение

Таким образом, Эксель предлагает большое разнообразие способов, пользуясь которыми можно удалить пустые строки из таблицы. Несмотря на разный подход, все они несложные и не требуют каких-либо особых навыков или глубоких знаний программы. А конечный выбор в пользу определенного метода зависит от конкретной ситуации и целей пользователя.

Источник: microexcel.ru

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

При импорте и копировании таблиц в Excel могут формироваться пустые строки и ячейки. Они мешают работе, отвлекают.

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

Как в таблице Excel удалить пустые строки?

Чтобы показать на примере, как удалить лишние строки, для демонстрации порядка действий возьмем таблицу с условными данными:

Пример 1 . Сортировка данных в таблице. Выделяем всю таблицу. Открываем вкладку «Данные» – инструмент «Сортировка и фильтр» – нажимаем кнопку «Сортировка». Или щелкаем правой кнопкой мыши по выделенному диапазону и делаем сортировку «от минимального к максимальному».

Пустые строки после сортировки по возрастанию оказываются внизу диапазона.

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

Пример 2 . Фильтр. Диапазон должен быть отформатирован как таблица с заголовками. Выделяем «шапку». На вкладке «Данные» нажимаем кнопку «Фильтр» («Сортировка и фильтр»). Справа от названия каждого столбца появится стрелочка вниз. Нажимаем – открывается окно фильтрации. Снимаем выделение напротив имени «Пустые».

Читайте также:  Перенос строки в excel в ячейке

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

Пример 3 . Выделение группы ячеек. Выделяем всю таблицу. В главном меню на вкладке «Редактирование» нажимаем кнопку «Найти и выделить». Выбираем инструмент «Выделение группы ячеек».

В открывшемся окне выбираем пункт «Пустые ячейки».

Программа отмечает пустые ячейки. На главной странице находим вкладку «Ячейки», нажимаем «Удалить».

Результат – заполненный диапазон «без пустот».

Внимание! После удаления часть ячеек перескакивает вверх – данные могут перепутаться. Поэтому для перекрывающихся диапазонов инструмент не подходит.

Полезный совет! Сочетание клавиш для удаления выделенной строки в Excel CTRL+«-». А для ее выделения можно нажать комбинацию горячих клавиш SHIFT+ПРОБЕЛ.

Как удалить повторяющиеся строки в Excel?

Чтобы удалить одинаковые строки в Excel, выделяем всю таблицу. Переходим на вкладку «Данные» – «Работа с данными» – «Удалить дубликаты».

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

После нажатия ОК Excel формирует мини-отчет вида:

Как удалить каждую вторую строку в Excel?

Проредить таблицу можно с помощью макроса. Например, такого:

А можно ручками. Предлагаем простенький способ, доступный каждому пользователю.

  1. В конце таблицы делаем вспомогательный столбец. Заполняем чередующимися данными. Например, «о у о у о у» и т.д. Вносим значения в первые четыре ячейки. Потом выделяем их. «Цепляем» за черный крестик в правом нижнем углу и копируем буквы до конца диапазона.
  2. Устанавливаем «Фильтр». Отфильтровываем последний столбец по значению «у».
  3. Выделяем все что осталось после фильтрации и удаляем.
  4. Убираем фильтр – останутся только ячейки с «о».

Вспомогательный столбец можно устранить и работать с «прореженной таблицей».

Как удалить скрытые строки в Excel?

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

В тренировочной таблице скрыты ряды 5, 6, 7:

Будем их удалять.

  1. Переходим на «Файл»-«Сведения»-«Поиск проблем» – инструмент «Инспектор документов».
  2. В отрывшемся окне ставим галочку напротив «Скрытые строки и столбцы». Нажимаем «Проверить».
  3. Через несколько секунд программа отображает результат проверки.
  4. Нажимаем «Удалить все». На экране появится соответствующее уведомление.

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

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

Источник: exceltable.com

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

Предположу, что почти каждый сталкивался с ситуацией, когда необходимо удалить только определенные строки: имеется большая таблица и необходимо удалить из неё только те строки, которые содержат какое-то слово (цифру, фразу). Для выполнения подобной задачи можно воспользоваться несколькими способами.

Способ первый:
Использовать встроенное средство Excel – фильтр. Сначала его необходимо “установить” на листе:

  • Выделяем таблицу с данными, включая заголовки. Если их нет – то выделяем с самой первой строки таблицы, в которой необходимо удалить данные
  • устанавливаем фильтр:
    • для Excel 2003 : ДанныеФильтрАвтофильтр
    • для Excel 2007-2010 : вкладка Данные (Data)Фильтр (Filter)(или вкладка Главная (Home)Сортировка и фильтр (Sort&Filter)Фильтр (Filter) )

Теперь выбираем условие для фильтра:

  • в Excel 2003 надо выбрать Условие и в появившейся форме выбрать непосредственно условие(“равно”, “содержит”, “начинается с” и т.д.), а напротив значение в соответствии с условием.
  • Для 2007-2010 Excel нужно выбрать Текстовые фильтры (Text Filters) и либо сразу выбрать одно из предлагаемых условий, либо нажать Настраиваемый фильтр (Custom Filter) и ввести значения для отбора в форме

После этого удалить отфильтрованные строки. В 2007 Excel могут возникнуть проблемы с удалением отфильтрованных строк, поэтому рекомендую сначала так же прочитать статью: Excel удаляет вместо отфильтрованных строк – все?! Как избежать.

Способ второй:
применить код VBA, который потребует только указания значения, которое необходимо найти в строке и номер столбца, в котором искать значение.

Sub Del_SubStr() Dim sSubStr As String ‘искомое слово или фраза(может быть указанием на ячейку) Dim lCol As Long ‘номер столбца с просматриваемыми значениями Dim lLastRow As Long, li As Long Dim lMet As Long Dim arr sSubStr = InputBox(“Укажите значение, которое необходимо найти в строке”, “Запрос параметра”, “”) If sSubStr = “” Then lMet = 0 Else lMet = 1 lCol = Val(InputBox(“Укажите номер столбца, в котором искать указанное значение”, “Запрос параметра”, 1)) If lCol = 0 Then Exit Sub lLastRow = ActiveSheet.UsedRange.Row – 1 + ActiveSheet.UsedRange.Rows.Count arr = Cells(1, lCol).Resize(lLastRow).Value Application.ScreenUpdating = 0 Dim rr As Range For li = 1 To lLastRow ‘цикл с первой строки до конца If -(InStr(arr(li, 1), sSubStr) > 0) = lMet Then If rr Is Nothing Then Set rr = Cells(li, 1) Else Set rr = Union(rr, Cells(li, 1)) End If End If Next li If Not rr Is Nothing Then rr.EntireRow.Delete Application.ScreenUpdating = 1 End Sub

Если значение sSubStr не будет указано, то будут удалены строки, ячейки указанного столбца которых, пустые.
Данный код необходимо поместить в стандартный модуль. Вызвать с листа его можно нажатием клавиш Alt + F8 , после чего выбрать Del_SubStr и нажать Выполнить. Если в данном коде в строке
If -(InStr(Cells(li, 1), sSubStr) > 0) = lMet Then
вместо = lMet указать <> lMet , то удаляться будут строки, не содержащие указанное для поиска значение. Иногда тоже удобно.
Но. Данный код просматривает строки на предмет частичного совпадения указанного значения. Например, если Вы укажете текст для поиска “отчет”, то будут удалены все строки, в которых встречается это слово(“квартальный отчет”, “отчет за месяц” и т.д.). Это не всегда нужно. Поэтому ниже приведен код, который будет удалять только строки, указанные ячейки которых равны конкретно указанному значению:

Sub Del_SubStr() Dim sSubStr As String ‘искомое слово или фраза(может быть указанием на ячейку) Dim lCol As Long ‘номер столбца с просматриваемыми значениями Dim lLastRow As Long, li As Long Dim arr sSubStr = InputBox(“Укажите значение, которое необходимо найти в строке”, “Запрос параметра”, “”) lCol = Val(InputBox(“Укажите номер столбца, в котором искать указанное значение”, “Запрос параметра”, 1)) If lCol = 0 Then Exit Sub lLastRow = ActiveSheet.UsedRange.Row – 1 + ActiveSheet.UsedRange.Rows.Count arr = Cells(1, lCol).Resize(lLastRow).Value Application.ScreenUpdating = 0 Dim rr As Range For li = 1 To lLastRow ‘цикл с первой строки до конца If CStr(arr(li, 1)) = sSubStr Then If rr Is Nothing Then Set rr = Cells(li, 1) Else Set rr = Union(rr, Cells(li, 1)) End If End If Next li If Not rr Is Nothing Then rr.EntireRow.Delete Application.ScreenUpdating = 1 End Sub

Здесь так же, как и в случае с предыдущим кодом можно заменить оператор сравнения( Cells(li, lCol) = sSubStr ) с равно на неравенство( Cells(li, lCol) <> sSubStr ) и тогда удаляться будут строки, значения ячеек которых не равно указанному.

УДАЛЕНИЕ СТРОК НА ОСНОВАНИИ СПИСКА ЗНАЧЕНИЙ(МНОЖЕСТВЕННЫЕ КРИТЕРИИ)
Иногда бывают ситуации, когда необходимо удалить строки не по одному значению, а по нескольким. Например, если строка содержит или Итог или Отчет. Ниже приведен код, при помощи которого можно удалить строки, указав в качестве критерия диапазон значений.
Значения, которые необходимо найти и удалить перечисляются на листе с именем “Лист2”. Т.е. указав на “Лист2” в столбце А(начиная с первой строки) несколько значений – они все будут удалены. Если лист называется иначе(скажем “Соответствия”) в коде необходимо будет “Лист2” заменить на “Соответствия”. Удаление строк происходит на активном в момент запуска кода листе. Это значит, что перед запуском кода надо перейти на тот лист, строки в котором необходимо удалить.

Читайте также:  Excel количество строк

Sub Del_Array_SubStr() Dim sSubStr As String ‘искомое слово или фраза Dim lCol As Long ‘номер столбца с просматриваемыми значениями Dim lLastRow As Long, li As Long Dim avArr, lr As Long Dim arr lCol = Val(InputBox(“Укажите номер столбца, в котором искать указанное значение”, “Запрос параметра”, 1)) If lCol = 0 Then Exit Sub Application.ScreenUpdating = 0 lLastRow = ActiveSheet.UsedRange.Row – 1 + ActiveSheet.UsedRange.Rows.Count ‘заносим в массив значения листа, в котором необходимо удалить строки arr = Cells(1, lCol).Resize(lLastRow).Value ‘Получаем с Лист2 значения, которые надо удалить в активном листе With Sheets(“Лист2”) ‘Имя листа с диапазоном значений на удаление avArr = .Range(.Cells(1, 1), .Cells(.Rows.Count, 1).End(xlUp)) End With ‘удаляем Dim rr As Range For lr = 1 To UBound(avArr, 1) sSubStr = avArr(lr, 1) For li = 1 To lLastRow ‘цикл с первой строки до конца If CStr(arr(li, 1)) = sSubStr Then If rr Is Nothing Then Set rr = Cells(li, 1) Else Set rr = Union(rr, Cells(li, 1)) End If End If DoEvents Next li DoEvents Next lr If Not rr Is Nothing Then rr.EntireRow.Delete Application.ScreenUpdating = 1 End Sub

Чтобы код выше удалял строки не по точному совпадению слов, а по частичному(например, в ячейке записано “Привет, как дела?”, а в списке есть слово “привет” – надо удалить, т.к. есть слово “привет”), то надо строку:

If CStr(arr(li, 1)) = sSubStr Then

заменить на такую:

If InStr(1, arr(li, 1), sSubStr, 1) > 0 Then

‘процедура оставляет в листе только те значения, которые перечислены в списке Sub LeaveOnlyFoundInArray() Dim sSubStr As String ‘искомое слово или фраза Dim lCol As Long ‘номер столбца с просматриваемыми значениями Dim lLastRow As Long, li As Long Dim avArr, lr As Long Dim arr Dim IsFind As Boolean lCol = Val(InputBox(“Укажите номер столбца, в котором искать указанное значение”, “www.excel-vba.ru”, 1)) If lCol = 0 Then Exit Sub Application.ScreenUpdating = 0 lLastRow = ActiveSheet.UsedRange.Row – 1 + ActiveSheet.UsedRange.Rows.Count ‘заносим в массив значения листа, в котором необходимо удалить строки arr = Cells(1, lCol).Resize(lLastRow).Value ‘Получаем с Лист2 значения, которые надо удалить в активном листе With Sheets(“Лист2”) ‘Имя листа с диапазоном значений на удаление avArr = .Range(.Cells(1, 1), .Cells(.Rows.Count, 1).End(xlUp)) End With ‘удаляем Dim rr As Range For li = 1 To lLastRow ‘цикл с первой строки таблицы до конца IsFind = False For lr = 1 To UBound(avArr, 1) ‘цикл по списку значений на удаление sSubStr = avArr(lr, 1) If InStr(1, arr(li, 1), sSubStr, 1) > 0 Then IsFind = True End If DoEvents Next lr ‘если значение таблицы не найдено в списке – удаляем строку If Not IsFind Then If rr Is Nothing Then Set rr = Cells(li, 1) Else Set rr = Union(rr, Cells(li, 1)) End If End If DoEvents Next li If Not rr Is Nothing Then rr.EntireRow.Delete Application.ScreenUpdating = 1 End Sub

Чтобы код выше сравнивал значения таблицы со значениями списка по точному совпадению слов, а не по частичному, то надо строку:

If InStr(1, arr(li, 1), sSubStr, 1) > 0 Then

заменить на такую:

If CStr(arr(li, 1)) = sSubStr Then

Для всех приведенных кодов можно строки не удалять, а скрывать. Для этого надо строку:

If Not rr Is Nothing Then rr.EntireRow.Delete

заменить на такую:

If Not rr Is Nothing Then rr.EntireRow.Hidden = True

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

For li = 1 To lLastRow ‘цикл с первой строки до конца

1 – это первая строка; lLastRow – определяется автоматически кодом и равна номеру последней заполненной строки на листе. Если надо начать удалять строки только с 7-ой строки(например, в первых 6-ти шапка), то код будет выглядеть так:

For li = 7 To lLastRow ‘цикл с седьмой строки до конца

А если надо удалять только с 3-ей по 300-ю, то код будет выглядеть так:

For li = 3 To 300 ‘цикл с третьей строки до трехсотой

Статья помогла? Поделись ссылкой с друзьями!

Источник: www.excel-vba.ru

Как в Эксель (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, нажмите “надстройки” и под меню “главная” будет маленькое окошко, надо нажать на него, выпадет меню “удаление/скрытие ячеек по умолчанию”, отмечаем строку “ячейки с текстом”, под этой строкой есть пустая, туда вводим текст, который должен быть в удаляемых ячейках, далее выбираем “в диапазоне листа”, если действие нужно на нескольких страницах, выбираем “в диапазоне листов”, далее “удалить строки/ячейки” и нажимаем “пуск”. Выпадет меню “обработка завершена”, жмем “ок”.

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

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

Источник: www.bolshoyvopros.ru