Удаление всех пустых строк на листе
Во многих случаях пустые строки на листе представляют собой проблему. Например, если ваша таблица с данными содержит пустые строки, то возникнут сложности с фильтрацией, сортировкой, построением сводных, т.к. Microsoft Excel считает пустую строку разрывом таблицы.
Для автоматизации подобной задачи проще всего использовать простой макрос. Нажмите Alt+F11 или выберите на вкладке Разработчик - Visual Basic (Developer - Visual Basic Editor). Если вкладки Разработчик не видно, то можно включить ее через Файл - Параметры - Настройка ленты (File - Options - Customize Ribbon).
В открывшемся окне редактора Visual Basic выберите в меню Insert - Module и в появившийся пустой модуль скопируйте и вставьте следующие строки:
Sub DeleteEmptyRows() LastRow = ActiveSheet.UsedRange.Row - 1 + ActiveSheet.UsedRange.Rows.Count 'определяем размеры таблицы Application.ScreenUpdating = False For r = LastRow To 1 Step -1 'проходим от последней строки до первой If Application.CountA(Rows(r)) = 0 Then Rows(r).Delete 'если в строке пусто - удаляем ее Next r End Sub
Закройте редактор и вернитесь в Excel.
Теперь нажмите сочетание Alt+F8 или кнопку Макросы на вкладке Разработчик. В открывшемся окне будут перечислены все доступные вам в данный момент для запуска макросы, в том числе только что созданный макрос DeleteEmptyRows. Выберите его и нажмите кнопку Выполнить (Run) - все пустые строки на листе будут удалены.
Ссылки по теме
- Что такое макрос, как он работает, куда копировать текст макроса, как запустить макрос?
- Заполнение всех пустых ячеек в списке значениями вышестоящих ячеек
- Удаление всех пустых ячеек из заданного диапазона
- Удаление всех пустых строк на листе с помощью надстройки PLEX
Для ускорения можно использовать такой вариант:
И еще как можно поменять код, чтобы вместо Selection.Rows были конкретные строки, например только для диапазона Range("B3:B10"
а вся строка без первой ячейке в ней, и вот если в этой строке (без первой ячейки) пусто,
то удалить строку, включая первую ячейку, т.е. как тут и есть?
поменял в коде 0 на "" - не получается.
И что значит, в вашем понимании, "заполненная строка"?
Выручил многократно, работа набирает темпы.
буду очень признательна за помощь.
Тоже волнует этот вопрос, который задал предыдущий автор.
Подскажите, пожалуйста, как удалить пустые строки в таблице (таблица А8:К999)