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

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

Добрый день уважаемые читатели! Очень часто при работе с таблицами нам приходится удалять пустые строки. Когда таблица очень большая это становится реальной проблемой. Можно попробовать их скрыть, но тогда не получится видеть актуальную информацию (по адресам). Поэтому пойдём путём настоящих исследователей - создадим свою команду на удаление пустых строк.  Предыдущая статья, посвящённая часам в ячейке - СТАТЬЯ. 

На просторах интернета можно встретить ответ на поставленный вопрос, но, как правило, он сводится к одному:

  1. На вкладке "Главная" нажимаем кнопку "Выделить";
  2. Выбираем "Пустые ячейки";
  3. Нажимаем "ОК";
  4. Нажимаем кнопку "Удалить".

 

Либо предлагается использовать фильтр. С помощью него выделить пустые строки, а затем их удалить.

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

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

Вставим в наш документ новый модуль:

  1. Вкладка "Разработчик", блок кнопок "Код", кнопка "Visual Basic";
  2. Далее "Insert" - > "Module".

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

 

Далее вставим следующий код:

Sub DeleteEmptyStrings ()

Dim intRow as Integer
Dim intLastRow as Integer
'получение номера последней строки с данными
intLastRow = ActiveSheet.UsedRange.Row + _
ActiveSheet.UsedRange.Rows.Count - 1

'Удалить пустые строки
For intRow = IntLastRow To 1 Step -1
If ActiveSheet.Rows(intRow).Text = "" Then
ActiveSheet.Rows(intRow).Delete
End If
Next intRow
End Sub

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

 

Немного пояснений. Первым делом объявляем две переменные - Row (строка) и LastRow (последняя строка). Тип целое.

Следующей строчкой мы показываем макросу найти последнюю строчку с данными на листе. 

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

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

Останется сохранить нашу книгу с поддержкой макросов (.xlsm) и выполнить макрос. Жмём на клавиатуре Alt+F8 и видим наш макрос (DeleteEmptyStrings). Щёлкаем "Выполнить"

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

 

Таблица примет следующий вид.

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

Видим, что вторая строка как будто пустая? Нет. В ней во второй ячейке я поставил пробел. Так что макрос правильно посчитал её не пустой и не удалил! Готово!

Ссылка на файл с макросом:

ФАЙЛ

Если остались вопросы - смотрите наше новое видео!

 

Автор записи: Иван

Добавить комментарий

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.