Избавление от пустых строк после импорта

Автор: | 13.05.2021

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

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

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

Другой подход – выполнить следующие действия:

  1. Выбрать весь столбец.
  2. Нажмите F5 . Excel отображает диалоговое окно “Перейти к”.
  3. Щелкните “Специальное”. Excel отобразит диалоговое окно «Перейти к специальному».
  4. Выберите «Пробелы» и нажмите «ОК». Excel выбирает только пустые ячейки в столбце.
  5. Выберите «Удалить» в меню «Правка». Excel отобразит диалоговое окно «Удалить».
  6. Выберите всю строку и нажмите кнопку ОК.

Если вы предпочитаете использовать макрос, чтобы избавиться от пустого поля строк, вы можете использовать что-то вроде следующего:

 Sub DeleteEmptyRows () Dim LastRow As Long Dim J As Long LastRow = ActiveSheet.UsedRange.Rows.Count + _ ActiveSheet.UsedRange.Rows (1  ) .Row - 1 Application.ScreenUpdating = False For J = LastRow To 1 Step -1 Если Application.WorksheetFunction.CountA (Rows (J)) = 0 Then Rows (J) .Delete End If Next J Application.ScreenUpdating = TrueEnd Sub  

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

Дополнительную информацию по этой теме можно найти на следующих страницах:

 http: //www.cpearson.com/Excel/deleting.htm#DeleteBlankRowshttp://dmcritchie.mvps.org/excel/lastcell.htm