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

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

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

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

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

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

Итак, приступим!

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

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

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

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

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

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

Обратите внимание, что вам необходимо сохранить эту книгу перед запуском инспектора документов. Если книга еще не сохранена, 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 Затем 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 Удалить Columns.Count) .Column For i = LastRow To 1 Step -1 Если 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 Если Columns (j) .Hidden = True Then Columns (j) .EntireColumn.Delete Next End Sub

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

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

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

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

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

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

wave wave wave wave wave