Нужно удалить пустые столбцы в Excel на одном листе или нескольких? Есть несколько простых способов избавиться от них. Опишу подробно.
Код на VBA
Можно попробовать удалить пустые столбцы вручную, используя несложный VBA-код. Вот пример такого кода:
Удалить_Пустые_Столбцы_Активного_Листа(s As Worksheet): Dim lr As Long, lc As Long, i As Long: With s.UsedRange: lr = s.Rows(.Rows.Count).Row: lc = .Columns(.Columns.Count).Column: End With: For i = lc To 1 Step -1: Select Case WorksheetFunction.CountA(s.Columns(i)) = 0: Case True: s.Columns(i).EntireColumn.Delete: End Select: Next i: End Sub
Этот код позволяет пустые столбцы с заданного листа.
Sub Удалить_Пустые_Столбцы_Активной_Книги(): Dim ws As Worksheet: For Each ws In ThisWorkbook.Sheets: Удалить_Пустые_Столбцы_Активного_Листа ws: Next ws: End Sub
Этот код позволяет пустые столбцы со всех листов в книге.
Как использовать код
Можно вставить код в VBA-модуль в открытой книге. Есть 2 сценария:
Записать макрос без действий, открыть его и вставить код туда.
Вызвать инструменты разработчика сочетанием клавиш Alt + F11, а далее вставить модуль через контекстное меню (Insert -> Module). В пустое окно модуля уже вставить код выше.

Есть пара нюансов
- Код можно будет запустить, только если открыта книга, в которой он сохранён, что крайне неудобно
- Для сохранения кода не подходят обычные файлы формата xlsx. Придется поменять формат и использовать xlsm или xlsb.
Можно также использовать для хранения кода личную книгу макросов. Это чуть более удобное решение.
Удаление в 2 клика с !SEMTools
Решения выше подходят и удобны, но если увлечься автоматизацией, количество формул и макросов увеличивается в прогрессии, а вместе с этим и время, затрачиваемое на поиск нужной формулы или макроса.
Эту проблему решает моя надстройка – в ней сотни маленьких решений расположены максимально интуитивно понятным способом.
Удалить пустые столбцы на листе
С помощью !SEMTools удалить пустые столбцы с активного листа очень просто. Достаточно выбрать нужную опцию в меню (УДАЛИТЬ – Диапазоны – Столбцы…), и всё — все пустые столбцы будут моментально удалены.

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

Процедура доступна в бесплатной версии !SEMTools. Установите и пользуйтесь.
Хотите так быстро удалять пустые столбцы в ваших таблицах?. !SEMTools упростит эту и более 500 других задач в Excel, и сэкономит ваше время!