В одной из предыдущих статей мы удаляли пустые строки в таблицах Excel. Еще одна из достаточно часто встречающихся задач при обработке табличных данных - удаление скрытых строк. Перейдем к её решению с помощью макроса, написанного на Visual Basic for Applications.

Отображение скрытых строк не представляет из себя никаких трудностей, так как одним кликом мыши можно выделить все строки рабочего листа, а двумя следующими отобразить все скрытые строки. В случае же когда необходимо удалить скрытые строки, задача заметно усложняется, но чтобы не удалять каждую скрытую строку по отдельности и тем более не отображать каждую строку перед удалением прибегнем к помощи программирования. Готовый макрос VBA удаляющий скрытые строки в используемом диапазоне активного рабочего листа.

Sub Udalenie_Skrytyh_Strok()
      Dim r As Long, FirstRow As Long, LastRow As Long
      FirstRow = ActiveSheet.UsedRange.Row
      LastRow = ActiveSheet.UsedRange.Rows.Count - 1 + ActiveSheet.UsedRange.Row
            For r = LastRow To FirstRow Step -1
                  If Rows(r).Hidden = True Then Rows(r).Delete
            Next r
End Sub

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