01 Что делает макрос
Пустые столбцы имеют потенциал причинения непредвиденных ошибок. Этот макрос позволяет автоматизировать задачу по удалению пустых столбцов.
В этом макросе, мы используем свойство UsedRange объекта ActiveSheet, чтобы определить диапазон, с которым мы работаем. Свойство UsedRange дает диапазон, который охватывает ячейки, в которых есть данные. Затем устанавливает счетчик, который начинается с последнего столбца, используемого диапазона, проверяя, весь ли столбец пуст. Если весь столбец действительно пуст, мы удалим столбец. Мы продолжаем делать то же самое для каждого цикла, каждый раз, когда счетчик двигается к предыдущей колонке.
02 Код макроса
Sub
UdalitPustieStolbci()
' Шаг 1: объявляем переменные
Dim
MyRange
As
Range
Dim
iCounter
As
Long
'Шаг 2: Определяем целевой диапазон
Set
MyRange = ActiveSheet.UsedRange
'Шаг 3: Запускаем обратный цикл через диапазон
For
iCounter = MyRange.Columns.Count
To
1
Step
-1
'Шаг 4: Если весь столбец пуст, то удаляем его
If
Application.CountA(Columns(iCounter).EntireColumn) = 0
Then
Columns(iCounter).Delete
End
If
‘Шаг 5: Увеличиваем счетчик
Next
iCounter
End
Sub
03 Как работает макрос
1. Шаг 1 объявляет две переменные. Первая переменная является переменной объекта под названием MyRange. Это переменная объекта, который определяет целевой диапазон. Другая переменная является переменной Long Integer называется iCounter.
2. Шаг 2 заполняет переменную MyRange со свойством UsedRange объекта ActiveSheet. Свойство UsedRange дает диапазон, который охватывает клетки, которые были использованы для ввода данных. Обратите внимание, что, если мы хотим указать фактический диапазон или именованный диапазон, мы могли бы просто ввести свое название — Range («MyNamedRange»).
3. На этом этапе макрос устанавливает параметры для нашего счетчика, чтобы начать с дальнего столбца (MyRange.Columns.Count) и заканчивается в первом столбце выбранного диапазона. Обратите внимание, что мы используем Шаг-1. Поскольку мы указываем шаг -1, Excel знает, что мы будем увеличивать счетчик в обратном направлении; и перемещает счетчик на один шаг на каждой итерации. В целом, Шаг 3 говорит Excel, что мы хотим начать в последнем столбце выбранного диапазона, двигаясь назад, пока мы не окажемся в первом столбце диапазона. При работе с диапазоном, вы можете явно вызывать определенный столбец в диапазоне, передавая номер столбца индекса к коллекции Columns диапазона.
4. На шаге 4, макрос использует переменную iCounter как номер индекса для коллекции Columns MyRange. Это помогает определить, с каким именно столбцом мы работаем в текущем цикле. Макрос проверяет все ячейки в этом столбце, являются ли они пустыми. Если все они пустые, макрос удаляет весь столбец.
5. На шаге 5, макрос возвращается к шагу 3 и увеличивает счетчик.
04 Как использовать
Для реализации этого макроса, вы можете скопировать и вставить его в стандартный модуль:
1. Активируйте редактор Visual Basic, нажав ALT + F11.
2. Щелкните правой кнопкой мыши имя проекта / рабочей книги в окне проекта.
3. Выберите Insert➜Module.
4. Введите или вставьте код во вновь созданном модуле.
05 Скачать файл
Автор проекта
Дмитрий Якушев
Привет! Меня зовут Дмитрий. С 2014 года Microsoft Cretified Trainer. Вместе с командой управляем этим сайтом. Наша цель - помочь вам эффективнее работать в Excel.
Изучайте наши статьи с примерами формул, сводных таблиц, условного форматирования, диаграмм и макросов. Записывайтесь на наши курсы или заказывайте обучение в корпоративном формате.
Сайт https://akademia-excel.ru/
ИП Якушев Дмитрий Александрович
ОГРНИП: 314501721200022
ИНН: 501706813807
Образовательная лицензия № Л035-01255-50/01194039
Почта: info@akademia-excel.ru
Телефон для связи: + 7 (958) 697-73-88, + 7 (495) 145-23-86
Регистрация на сайте означает согласие с пользовательским соглашением и на получение рассылки и рекламных материалов.
Политика в отношении обработки и защиты персональных данных.
Банковские реквизиты:
Расчетный счет 40802810500000003597
Банк АО «Тинькофф Банк»
Юридический адрес Банка Москва, 123060,1-й Волоколамский проезд, д. 10, стр. 1
Корр. счет Банка 30101810145250000974
ИНН Банка 7710140679
БИК Банка 044525974
Подписывайтесь на нас в соц.сетях:
Сайт https://akademia-excel.ru/
ИП Якушев Дмитрий Александрович
ОГРНИП: 314501721200022
ИНН: 501706813807
Образовательная лицензия № Л035-01255-50/01194039
Банковские реквизиты:
Расчетный счет 40802810500000003597
Банк АО «Тинькофф Банк»
Юридический адрес Банка Москва, 123060,1-й Волоколамский проезд, д. 10, стр. 1
Корр. счет Банка 30101810145250000974
ИНН Банка 7710140679
БИК Банка 044525974
Регистрация на сайте означает согласие с пользовательским соглашением и на получение рассылки и рекламных материалов.
Политика в отношении обработки и защиты персональных данных.
Почта: info@akademia-excel.ru
Телефон для связи: + 7 (958) 697-73-88, + 7 (495) 145-23-86
Написать в тех.поддержку
Подписывайтесь:
авторизуйтесь