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

Как уже отчечалось ранее, отобразить скрытые объекты (в нашем случае столбцы) довольно просто, выделяется весь лист, нажатием нулевой ячейки (пересечение номеров строк и наименований солбцов) после чего из контекстного меню выбирается пункт "Отобразить". Если же требуется скрытые столбцы удалить, то стандартными средствами придется столбцы сначала отображать и только после этого удалять. Попробуем обойтись без промежуточных действий. Запускаем редактор Visual Basic и переносим туда программный код готового макроса, удаляющего скрытые столбцы в используемом диапазоне активного рабочего листа.

Sub Udalenie_Skrytyh_Stolbtsov()
      Dim c As Long, FirstColumn As Long, LastColumn As Long
      FirstColumn = ActiveSheet.UsedRange.Column
      LastColumn = ActiveSheet.UsedRange.Columns.Count - 1 + ActiveSheet.UsedRange.Column
            For c = LastColumn To FirstColumn Step -1
                  If Columns(c).Hidden = True Then Columns(c).Delete
            Next c
End Sub

 

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