Пустые столбцы в таблицах Excel, также как и пустые строки, занимают полезное место как на экране монитора, так и на листе бумаги, при этом не несут смысловой нагрузки и мешают восприятию информации. Удалить такие столбцы не всегда представляется возможным, так как ячейки, находящиеся в столбцах могут участвовать в расчетах. При удалении на результат расчетов они конечно же не повлияют, но  к появлению неправильных ссылок на ячейки привести очень даже могут. В таких случаях пустые столбцы можно просто скрыть и сделать это можно очень быстро. 

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

Скрыть столбцы вручную

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

Скрыть столбцы используя сортировку

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

Как скрыть пустые столбцы средствами VBA?

Программное скрытие макросом VBA

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

Sub Skryt_Pustye_Stolbtsy()
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 Application.CountA(Columns(c)) = 0 Then
            Columns(c).Hidden = True
        End If
    Next c
End Sub

 

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

Автоматическое скрытие с использованием надстройки

Более функциональным средством VBA является надстройка, позволяющая удалять и скрывать не только пустые столбцы, но и столбцы, отвечающие условиям пользователя, которые можно задавать в диалоговом окне.

Udalenie-i-skrytie-stolbtsov-po-neskolkim-usloviyam

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

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

Vyborochnoe-udalenie-yacheek-po-usloviyu