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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

В этом курсе:

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

Примечание: В 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 при помощи выделить пустые ячейки > удалить строку – это плохая идея, и покажу Вам 2 быстрых и правильных способа, как удалить пустые строки не разрушая данные. Все эти способы работают в Excel 2013, 2010 и в более старых версиях.

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

Читайте также:  Excel соединить строки

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

Никогда не удаляйте пустые строки, при помощи выбора пустых ячеек

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

  • Выделите данные от первой до последней ячейки.
  • Нажмите F5, чтобы открыть диалоговое окно Go to (Переход).
  • В диалоговом окне нажмите кнопку Special (Выделить).
  • В диалоговом окне Go to special (Выделить группу ячеек) отметьте пункт Blanks (Пустые ячейки) и нажмите ОК.
  • Кликните правой кнопкой мыши по любой из выделенных ячеек и нажмите Delete (Удалить).
  • В диалоговом окне Delete (Удаление ячеек) выберите Entire row (Строку) и нажмите ОК.

Это очень плохой способ, делайте так только с очень простыми таблицами с парой дюжин строк, которые помещаются на одном экране, а ещё лучше – не делайте так совсем! Главная причина – если строка с важными данными содержит хотя бы одну пустую ячейку, то удалена будет вся строка.

Например, у нас есть таблица клиентов, всего 6 строк. Мы хотим удалить строки 3 и 5, потому что они пустые.

Сделайте так, как предложено выше, и получите такой результат:

Строка 4 (Roger) тоже исчезла, потому что ячейка D4 в столбце Traffic source оказалась пуста

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

Далее в этой статье я покажу Вам 2 быстрых и надёжных способа удалить пустые строки из листов Excel.

Удаление пустых строк при помощи ключевого столбца

Этот метод работает, если в Вашей таблице есть столбец, который помогает определить, пуст рассматриваемый столбец или нет (ключевой столбец). К примеру, это может быть ID покупателя или номер заказа, или что-то подобное.

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

  1. Выделите всю таблицу, от первой до последней строки (нажмите Ctrl+Home, а затем Ctrl+Shift+End).
  2. Добавьте автофильтр к таблице. Для этого на вкладке Data (Данные) нажмите кнопку Filter (Фильтр).
  3. Примените фильтр к столбцу Cust#. Для этого нажмите кнопку со стрелкой в заголовке столбца, снимите галочку в опции Select All (Выделить все), пролистайте вниз к концу списка (на практике этот список может быть весьма длинным) и поставьте галочку в строке Blanks (Пустые) в самом низу списка. Нажмите ОК.
  4. Выделите все отфильтрованные строки: нажмите Ctrl+Home, затем стрелку вниз, чтобы перейти к первой строке с данными, а затем нажмите Ctrl+Shift+End.
  5. Кликните правой кнопкой мыши по любой выделенной ячейке и из контекстного меню выберите Delete row (Удалить строку) или просто нажмите Ctrl+-(знак минус).
  6. В появившемся окне с вопросом Delete entire sheet row? (Удалить всю строку листа?) нажмите ОК.
  7. Очистите применённый фильтр: на вкладке Data (Данные) нажмите кнопку Clear (Очистить).
  8. Отлично! Все пустые строки полностью удалены, а строка 3 (Roger) по-прежнему на месте (сравните с результатом предыдущей попытки).

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

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

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

    В конце таблицы добавьте столбец с именем Blanks и вставьте следующую формулу в первую ячейку столбца:

Эта формула, как и обещает её имя, подсчитывает пустые ячейки в заданном диапазоне. A2 и C2 – это соответственно первая и последняя ячейки текущей строки.

  • Скопируйте формулу на весь столбец. Как это сделать – смотрите пошаговую инструкцию Как вставить одинаковую формулу сразу во все выбранные ячейки.
  • Теперь в нашей таблице есть ключевой столбец! Примените фильтр к столбцу Blanks (выше дана пошаговая инструкция, как это сделать) чтобы показать строки только с максимальным значением (3). Число 3 означает, что все ячейки в этой строке пусты.
  • Далее выделите все отфильтрованные строки и удалите их целиком. Как это сделать – описано выше.В результате пустая строка (строка 5) будет удалена, все остальные строки (с пустыми ячейками или без) останутся на своём месте.
  • Теперь вспомогательный столбец можно удалить. Или Вы можете применить другой фильтр, чтобы показать только те ячейки, в которых есть одна или несколько пустых ячеек.Для этого снимите галочку в строке со значением (ноль) и нажмите ОК.

    Источник: office-guru.ru

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

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

    Способ первый:
    Использовать встроенное средство 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 , то удаляться будут строки, не содержащие указанное для поиска значение. Иногда тоже удобно.
    Но. Данный код просматривает строки на предмет частичного совпадения указанного значения. Например, если Вы укажете текст для поиска “отчет”, то будут удалены все строки, в которых встречается это слово(“квартальный отчет”, “отчет за месяц” и т.д.). Это не всегда нужно. Поэтому ниже приведен код, который будет удалять только строки, указанные ячейки которых равны конкретно указанному значению:

    Читайте также:  Высота строки в excel более 409

    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” заменить на “Соответствия”. Удаление строк происходит на активном в момент запуска кода листе. Это значит, что перед запуском кода надо перейти на тот лист, строки в котором необходимо удалить.

    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

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

    Доброго времени суток друзья!

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

    Разрывы, которые возникают в таблице благодаря возникшим пустотам, могут помешать вам эффективно ее использовать. Возникают такие проблемы:

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

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

    Сортировка

    Это самый простой способ убрать с вашей рабочей области или вычисляемого диапазона чистые строки. Вам нужно выделить диапазон, выбрать на вкладке «Данные» кнопку «Сортировка» и в предоставленном диалоговом окне выбираем вариант сортировки. Программа всё отсортирует по полочкам, и вы можете удалить пустые строки. Будьте внимательны! При использовании сортировки в таблице, которая имеет в своем составе несколько столбцов, вы можете нарушить целостность информации, ваши данные могут сместиться на другие ряды. Для избегания этой проблемы при выборе сортировки, нужно выделить всю таблицу и применить сортировку для всего выделенного объема.

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

    Фильтрация

    Этот способ также является простым и доступным абсолютно любому пользователю. Для применения фильтра на таблицу вам необходимо на вкладке «Главная» в разделе «Редактирование» нажимать кнопку «Сортировка и фильтр» и в открывшемся пункте меню выбираете «Фильтр». После включения фильтра, вам нужно выбрать столбец и в выпадающем меню указать отображение пустых ячеек. Дольше вы выделяете полученные пустые строки и просто-напросто удаляете их.

    Читайте также:  Удалить пустые строки эксель

    Выделение группы ячеек

    Я бы и этот способ причислил к достаточно простым и лёгким. Для применения этого варианта вам нужен инструмент «Выделение группы ячеек». Удалить незаполненые строки возможно в несколько этапов:

    • выделение нужного диапазона;
    • выбираем вкладку «Главная», в блоке «Редактирование», кликаем «Найти и выделить» и в выпадающем меню выбираете «Выделение группы ячеек»;

    • в диалоговом окне, в разделе «Выделить» отмечаем пункт «пустые ячейки»;

    • переходим во вкладку «Главная» и нажимаем кнопку «Ячейки» и выбираем пункт «Удалить»;
    • в диалоговом окне выбираете пункт «удалить ячейки со сдвигом вверх» и все незаполненые строки будут удалены.

    Формула массива

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

    Итак, в чём же состоит этот способ по удалению пустых строк в Excel и как его применять:

    • для большей простоты дадим имена нашим диапазонам, для этого на вкладке «Формулы» нажимаете «Диспетчер имен» и присваиваете для двух диапазонов имена, например для изначальных данных с пустыми ячейками – «Пустые», а для обработанных – «БезПустых». Обязательное условие в том, что диапазоны должны иметь одинаковый результат, но вот размещение этих диапазонов могут и отличатся, это не критично;

    • следующим шагом это введение в первую ячейку второго диапазона формулу:

    =ЕСЛИ( СТРОКА() — СТРОКА (БезПустых) +1> ЧСТРОК( Пустые) — СЧИТАТЬПУСТОТЫ (Пустые);”«; ДВССЫЛ ( АДРЕС (НАИМЕНЬШИЙ ((ЕСЛИ (Пустые <>»”; СТРОКА (Пустые); СТРОКА()+ ЧСТРОК( Пустые))); СТРОКА() — СТРОКА (БезПустых)+1); СТОЛБЕЦ( Пустые);4))). Да я сам знаю, что формула страшная, сам, когда ее увидел, обалдел, тем не менее, она рабочая и исправно выполняет возложенные на нее обязанности;

    • после прописания формулы, вам нужно окончить введение формулы «гарячей» комбинацией клавишCtrl+Shift+Enter, это необходимо для того, что бы формула была введена как формула массива. Теперь используя возможность в Excel как авто заполнение (копирование формулы, протягивая за крестик в углу) вы получили исходный диапазон, но уже без пустых ячеек.

    Макрос

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

    Перейдите во вкладку «Сервис», выберите раздел «Макрос» и нажмите кнопку «Редактор Visual Basic» или нажав ALT+F11 и в появившемся диалоговом окне редактора нажимаем «Insert»«Module». В открывшимся, пустом модуле ставим код:

    • для удаления всех незаполненых рядов в таблице:

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

    Как удалить строки в 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) осуществлять поиск текста в строках как с учетом регистра, так и без.

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

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

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

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

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

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

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

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