Vba excel скрыть столбец

Обновлено: 07.07.2024

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


Скрытие и отображение столбцов в Excel - самая простая задача. И автоматизировать этот процесс даже легко. VBA Hide Column не требует огромного кода для написания. Но прежде чем мы начнем писать код для скрытия столбца в VBA, нам нужно понять несколько вещей и требований. Нам нужно знать имя столбца или последовательность, которую мы хотим скрыть, и диапазон ячейки, которая является необязательной.

Как скрыть столбцы в Excel VBA?

Мы научимся скрывать столбец в VBA с помощью нескольких примеров в Excel.

Вы можете скачать этот шаблон Excel VBA Hide Columns здесь - VBA Скрыть шаблон Excel Columns

Excel VBA Hide Column - Пример № 1

Для этого нам нужны данные в виде нескольких заполненных столбцов. Здесь у нас есть набор данных, в котором мы случайным образом взяли числа от 1 до 40 в разных 4 столбцах A, B, C и D соответственно, и все столбцы окрашены в разные цвета только для лучшего отображения на веб-странице.


Предположим, если мы хотим скрыть столбцы A и B, то сначала нам нужно выбрать оба столбца, как показано ниже.


Теперь щелкните правой кнопкой мыши и выберите « Скрыть», как показано ниже.


Выбранные столбцы будут скрыты после этого. Мы могли видеть только столбцы C и D с данными.


Теперь, если подобная работа может быть выполнена и макросом VBA. Для этого нам понадобится модуль. Перейдите в VBA и выберите модуль из списка меню «Вставка», как показано ниже.


В открывшемся модуле напишите подкатегорию VBA Hide Column, или мы можем выбрать любое другое имя в соответствии с нашим выбором, как показано ниже.

Код:


Сначала выберите столбцы, которые нам нужно скрыть. Здесь мы скрываем столбец C.

Код:


Поскольку мы хотим скрыть весь столбец C, выберите функцию FullColumn, а затем Hidden, как показано ниже.

Код:


Теперь, чтобы это произошло, мы можем выбрать ответ ИСТИНА или ЛОЖЬ. Если мы выберем Hidden как TRUE, тогда это будет скрывающая функция или если FALSE, тогда она будет работать как скрывающая функция. Поскольку мы хотим скрыть выбранные столбцы C из диапазона, мы бы выбрали здесь TRUE.

Код:


Теперь скомпилируйте код и запустите его, нажав кнопку Play, расположенную под строкой меню в VBA. Мы увидим, что столбец C теперь скрыт, теперь он показывает только столбцы A, B и D.

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

Код:


Теперь снова запустите код.


Здесь мы видим, столбцы B и C теперь скрыты. И только столбцы A и D видны.

Excel VBA Hide Column - Пример № 2

Вместо того, чтобы выбирать столбцы путем упоминания имени, мы также можем скрыть любой столбец по их последовательности. Во многих случаях этот процесс не является предпочтительным, поскольку мы можем легко узнать имя столбца, в котором находится столбец в алфавитном порядке. Этот процесс похож на код, который мы видели в примере № 1, где мы выбрали имя столбца как B и B: C, мы выберем порядковый номер, в котором расположен столбец. Если предположить, что мы хотим скрыть столбец A, используя код примера-1, нам просто нужно поместить порядковый номер, а не выбирать его с помощью Range.

Код:


Теперь запустите этот код, нажав клавишу F5 или нажав кнопку Play. Мы увидим, столбец А, который находится на первой позиции, теперь скрыт.


Excel VBA Hide Column - Пример № 3

Есть еще один способ скрыть столбец, используя код VBA. Это также просто, как код, который мы видели в примере № 1. Для этого мы снова будем использовать те же данные, которые мы использовали в приведенном выше примере. Запишите подкатегорию под любым именем или именем выполняемой функции.

Код:


Выберите любой диапазон столбца, который нам нужно скрыть. Здесь мы выбираем тот же столбец C.

Код:


Чтобы активировать выбор необходимого столбца, выберите функцию « Столбцы», как показано ниже.

Код:


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

Код:


И выберите ИСТИНА, чтобы скрыть выбранный столбец, и ЛОЖЬ, чтобы скрыть выбранный скрытый столбец.

Код:


Столбец C, который был нашим столбцом диапазона, теперь скрыт.

Excel VBA Hide Column - Пример № 4

Есть еще один простой способ автоматизировать процесс скрытия столбцов в VBA. Для этого снова напишите подкатегорию в имени VBA Hide Columns.

Код:


Прямо выберите столбец, который нам нужно скрыть. Здесь снова мы выбираем тот же столбец C.

Код:


И выберите скрытую команду как ИСТИНА, чтобы активировать процесс скрытия. Или выберите ЛОЖЬ, чтобы активировать процесс отображения.

Код:


Посмотрим, колонка С снова скрыта.

Плюсы и минусы Excel VBA Скрыть столбец

  • Процесс VBA Hide Column очень прост в реализации.
  • Мы можем скрыть любой тип столбца Range, будь то в последовательности или в случайных позициях.
  • Поскольку процесс VBA Hide Column прост в применении, но в ручном режиме, он также прост, как в коде VBA. Таким образом, это не вносит большой вклад в экономию. Настоятельно рекомендуется только тогда, когда мы работаем над написанием огромного кода.

То, что нужно запомнить

  • Мы скрываем и отображаем столбец с помощью некоторого кода VBA. Для отображения, используйте FALSE вместо TRUE для функциональной цели.
  • Порядковый номер столбца также позволяет скрыть столбец, кроме выбора имени столбца, которое упоминается в алфавитном порядке.

Рекомендуемые статьи

Это руководство к VBA Hide Columns. Здесь мы обсудим, как скрыть столбцы в Excel, используя код VBA, а также приведем практические примеры и загружаемый шаблон Excel. Вы также можете просмотреть наши другие предлагаемые статьи -

Скрытие и отображение столбцов
Возникла такая задачка: Есть 3 вида стоблбцов, которые чередуются (1-й вид, 2-вид, 3-й вид, 1-й.

Скрытие и отображение столбцов в excel
Есть табель учета рабочего времени. Как сделать в нем так чтобы если в месяце 30 дней, то пустой.

Отображение/скрытие столбцов по флажку
Как можно запрограмировать отображениескрытие столбца в запросе в реакции на постановкуснятие.

Скрытие/отображение ненужных строк и столбцов
А можно ли сделать так, чтобы поля скрывались по значению в другом поле? Т.е. стоит в поле.

Если надо кнопки на панеле, так и делай их на панеле . В чем проблема? Лень нажать правую кнопку мыши на панеле? Дело в том, что макрос, записанный на одном листе у нас и работает только на этом листе. Для каждого листа записать макрос? Вот два макроса, один показывает плановые столбцы, другой факт.
Все это работает у меня. Ставишь кнопки на панель. На любом листе этот код выполняется. Может трабла как кнопки поставить на панель? Слушай, спасибо! Макрос работал на одном листе, когда панель с кнопками 'висела' над рабочей областью. Переместил к остальным вверх и все стало как надо .
Еще раз спасибо за участие! День добрый. Попробовал макрос. Есть неудобство - если на листе есть объединенные ячейки то скрываются колонки где размещена любая из объединенных ячеек

mitox76, Уберите ненужное выделение столбцов, и будет Вам счастье .


Скрытие столбцов по условию
Здравствуйте! помогите решить задачу с вложенным файлом. Нужно написать макрос под кнопку ("скрыть".

QTableView скрытие столбцов
Привет. Есть QTableView со скрытыми столбцами. .

ProgressBar отображение и скрытие
Как сделать простой ProgressBar который скроется когда не нужен и отобразится когда надо. В данном.

Скрытие и отображение TPanel
Всем здравствуйте! На форме есть Panel и три кнопки добавить, удалить и изменить запись. Хочу.


Скрытие/отображение блоков
Задачка не уникальная, но не могу найти решение. С JS и AJAX не дружу, помогите пожалуйста с.

Скрытие/отображение блоков
Здравствуйте, формучане! Как в данном движке можно отобразить и скрыть блоки (имеется в виду.

У меня есть рабочий лист со значениями в столбцах B: G. На том же листе в ячейке A1 я создал раскрывающийся список, используя проверку данных со значениями, такими как A, B и C.

Мне нужно, когда я выбираю значение ячейки A, а затем столбцы B: C должны быть видимыми, а другие столбцы должны быть скрыты от D: G. Таким же образом, если я выберу B из списка, мне нужно просмотреть столбцы D: E и B: C и F: G, которые должны быть скрыты.

Не могли бы вы помочь мне в этом.

Примечание. Я плохо разбираюсь в VBA.

  1. Откройте редактор VBA ( ALT + F11 ).
  2. Дважды щелкните Sheet1
  3. Выберите Рабочий лист в верхнем левом раскрывающемся списке и Изменить в верхнем правом раскрывающемся списке
  4. Вставьте этот код

вы получите следующий код:

Теперь вы знаете, как скрыть и показать столбцы. Сначала вы выбираете столбец, затем устанавливаете Hidden = true или false.

Google: макрос Excel при изменении значения ячейки

Возьмите код из этой ссылки и прочтите комментарии:

Убедитесь, что вы внимательно прочитали ссылку. И следуйте инструкциям. Иногда я тороплюсь и упускаю важные детали.

Дайте мне знать, достаточно ли этого или вам нужна дополнительная помощь.

вы получите следующий код:

Теперь вы знаете, как чтобы скрыть и показать столбцы. Сначала вы выбираете столбец, затем устанавливаете Hidden = true или false.

Google: макрос Excel при изменении значения ячейки

Возьмите код из этой ссылки и прочтите комментарии:

Убедитесь, что вы внимательно прочитали ссылку. И следуйте инструкциям. Иногда я тороплюсь и упускаю важные детали.

Дайте мне знать, достаточно ли этого или вам нужна дополнительная помощь.

Скрыть столбцы с помощью VBA в Excel

Скрыть один или несколько столбцов на листе

Скрыть столбец очень просто. Код ниже скрывает столбец C на активном листе. Если установить для свойства Hidden значение False , столбец снова станет видимым.

Код ниже скрывает несколько столбцов (D. E и F).

Скрытие столбцов в диапазоне


При запуске с диапазона, который не является полным столбцом, вы получите ошибку времени выполнения« 1004 »: невозможно установить свойство Hidden класса Range.

Сделать столбец xlVeryHidden

Читайте также: