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

И, если у вас много таких скрытых строк / столбцов, может быть сложно найти и удалить эти скрытые строки и столбцы (в случае, когда они вам не нужны).

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

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

Удалить все скрытые строки и столбцы в Excel

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

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

Ниже приведены шаги по удалению всех скрытых строк и столбцов из книги в Excel:

  • Нажмите на опцию Файл
  • В параметрах слева нажмите «Информация».
  • Нажмите на опцию «Проверить наличие проблем».
  • Нажмите на опцию «Проверить документ». Откроется диалоговое окно «Инспектор документов».
  • В диалоговом окне «Инспектор документов» нажмите кнопку «Проверить». Это проверит всю книгу и предоставит вам информацию о книге.
  • Прокрутите вниз до параметра «Скрытые строки и столбцы». Вы увидите, что он показывает общее количество скрытых строк и столбцов, найденных в книге.
  • Нажмите кнопку «Удалить все».

Вышеупомянутые шаги удалят все скрытые строки и столбцы в книге.

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

Если нет скрытых строк и столбцов, вы увидите зеленую галочку перед параметром «Скрытые» и «Строки и столбцы» (в диалоговом окне «Инспектор документов»).

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

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

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

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

В этом случае вы можете использовать описанный далее метод VBA.

Удалите скрытые строки и столбцы с помощью VBA

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

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

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

Со всего рабочего листа (использованный диапазон)

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

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

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

Sub DeleteHiddenRows()
Dim sht As Worksheet
Dim LastRow
Set sht = ActiveSheet
LastRow = sht.UsedRange.Rows(sht.UsedRange.Rows.Count).Row

For i = LastRow To 1 Step -1
If Rows(i).Hidden = True Then Rows(i).EntireRow.Delete
Next

End Sub

Приведенный выше код VBA сначала определяет номер последней строки в используемом диапазоне и назначает этот номер строки переменной LastRow.

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

Если он скрыт, вся строка удаляется. И если он не скрыт, код оставляет эту строку как есть и перемещается в строку над ней. Этот цикл проверяет все строки и удаляет все скрытые строки, которые встречаются в процессе.

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

Sub DeleteHiddenColumns()
Dim sht As Worksheet
Dim LastCol as Integer
Set sht = ActiveSheet
LastCol = sht.UsedRange.Columns(sht.UsedRange.Columns.Count).Column

For i = LastCol To 1 Step -1
If Columns(i).Hidden = True Then Columns(i).EntireColumn.Delete
Next

End Sub

Это снова работает таким же образом, где вместо строк мы проверяем столбцы.

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

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

Sub DeleteHiddenRowsColumns()
Dim sht As Worksheet
Dim LastRow as Integer
Dim LastCol as Integer
Set sht = ActiveSheet
LastRow = sht.UsedRange.Rows(sht.UsedRange.Rows.Count).Row
LastCol = sht.UsedRange.Columns(sht.UsedRange.Columns.Count).Column

For i = LastRow To 1 Step -1
If Rows(i).Hidden = True Then Rows(i).EntireRow.Delete
Next

For i = LastCol To 1 Step -1
If Columns(i).Hidden = True Then Columns(i).EntireColumn.Delete
Next

End Sub

Это просто комбинированный код для строк и столбцов, работающий одинаково.

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

Обратите внимание, что вам нужно поместить этот код VBA в обычный модуль в редакторе Visual Basic. Затем вы можете запустить код непосредственно из редактора VB, используя диалоговое окно макроса или добавив этот макрос на панель быстрого доступа.

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

Из определенного диапазона ячеек

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

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

Ниже кода VBA, который сделает это:

Sub DeleteHiddenRowsColumns()
Dim sht As Worksheet
Dim Rng As Range
Dim LastRow As Integer
Dim RowCount As Integer
Set sht = ActiveSheet
Set Rng = Range("A1:K200")
RowCount = Rng.Rows.Count
LastRow = Rng.Rows(Rng.Rows.Count).Row
ColCount = Rng.Columns.Count
LastCol = Rng.Columns(Rng.Columns.Count).Column

For i = LastRow To LastRow - RowCount Step -1
If Rows(i).Hidden = True Then Rows(i).EntireRow.Delete
Next

For j = LastCol To LastCol - ColCount Step -1
If Columns(j).Hidden = True Then Columns(j).EntireColumn.Delete
Next


End Sub

В приведенном выше коде я указал диапазон как A1: K200.

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

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

Вот как вы можете удалить скрытые строки и столбцы в Excel .

Если вы хотите сделать это для всей книги, вы можете использовать параметр «Инспектор документов». А если вам нужно больше контроля, вы можете использовать коды VBA, как показано выше.

Надеюсь, вы нашли этот урок полезным!

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