Vba excel скрыть столбец
Довольно часто появляется необходимость в Excel скрывать или отображать строки или столбцы. Особенно это актуально, когда на листе размещается очень много информации и часть из них является вспомогательной и требуется не всегда и тем самым загромождает пространство, ухудшая восприятие. Если это приходится делать часто, то делать это с помощью меню неудобно, особенно если приходится скрывать и отображать разные столбцы и строки.
Для существенного удобства можно написать простенький макрос, привязав его к кнопке и делать это одним щелком мыши.
Вот так выглядят простые примеры, с помощью которых Вы без труда сможете скрывать или отображать строки и столбцы с помощью VBA
Пример 1: Скрыть строку 2 в Excel
Sub HideString() ‘Это название макроса
Rows(2).Hidden = True
End Sub
Пример 2: Скрыть несколько строк в Excel (строку 3-5)
Sub HideStrings()
Rows(«3:5»).Hidden = True
End Sub
Пример 3: Скрыть столбец 2 в Excel
Sub HideCollumn()
Columns(2).Hidden = True
End Sub
Пример 4: Скрытие нескольких столбцов в Excel
Sub HideCollumns()
Columns(«E:F»).Hidden = True
End Sub
Пример 5: Скрытие строки по имени ячейки в Excel
Sub HideCell()
Range(«Возможности Excel»).EntireRow.Hidden = True
End Sub
Пример 6: Скрытие нескольких строк по адресам ячеек
Sub HideCell()
Range(«B3:D4»).EntireRow.Hidden = True
End Sub
Пример 7: Скрытие столбца по имени ячейки
Sub HideCell()
Range(«Возможности Excel»).EntireColumn.Hidden = True
End Sub
Пример 8: Скрытие нескольких столбцов по адресам ячеек
Sub HideCell()
Range(«C2:D5»).EntireColumn.Hidden = True
End Sub
Как видите процесс автоматического скрытия строк и столбцов очень прост, а применений данному приему огромное множество.
Для того, чтобы отобразить строки и столбцы в Excel вы можете воспользоваться этими же макросами, но вместе True необходимо указать False
Например, макрос для того, чтобы отобразить строку 2 будет выглядеть следующим образом:
Sub ViewString()
Rows(2).Hidden = False
End Sub
Надеемся, что данная статья была полезна вам и ответила на вопрос: как скрыть или отобразить строки и столбцы в Excel с помощью VBA
Спасибо за внимание.
Related posts:
Похожие статьи
Что делать если условием таблицы является скрытие столбцов по условию: содержание в ячейках определенного значения? Нужен макрос? Можете помочь?
Например: Есть таблица со строками содержащими в заголовке название рыб (200 строк) и столбцами содержащими в заголовке название наживки для рыб(50 столбцов). В таблице есть диапазон содержащий в ячейках символ Х и символ Y. Используя стандартный фильтр выбираю в одном из столбцов «фильтровать по значению Х» Требуется: Выделив все ячейки оставшегося после фильтрации диапазона(например осталось только 20 строк названий рыб и все 50 столбцов названий наживки) скрыть СТОЛБЦЫ в которых ячейки диапазона не содержат хотя бы 1 символ Х (например в результате получиться 20 строк названий рыб и всего 5 СТОЛБЦОВ названий наживки)
Добрый день!
Выдает ошибку на многоточие и макрос не срабатывает 🙁 как быть в этой ситуации.
Пример 4: Скрытие нескольких столбцов в Excel
Sub HideCollumns()
Columns(«E:F»).Hidden = True
End Sub
Здравствуйте!
Подскажите, пжл, что делаю не так .
В примере №7, выдаёт ошибку 400, пишет:
«Method ‘Range’of object’_Worksheet’failed»
Подскажите, пожалуйста, как сделать, чтобы в примере №7, макрос ссылался бы НЕ на ИМЯ ячейки, а на ЗНАЧЕНИЕ, которое есть в ячейке ?
Иными словами, если ячейки А1, А2, А3 — содержать значение «хотим скрыть эти строки», то макрос скрывает эти строки (т.е. — строки 1, 2 и 3).
Если в какой-либо ячейке — иное значение, то, соответственно, эта строка НЕ скрывается.
Зараенее спасибо за ответ.
Спасибо за макрос!
Но адаптировать под себя — оказалось для меня слишком сложно ((.
Буду благодарен, если подскажите, как реализовать такую процедуру:
На ЗАЩИЩЁННОМ листе — две кнопки «Скрыть» и «Отобразить»
При нажатии кнопки «Скрыть» — происходит скрытие всех строк, одна из ячеек которых (скажем, все такие ячейки расположены в одном столбце «D») содержит значение «Счёт закрыт».
Лист при этом остаётся ЗАЩИЩЁННЫМ.
И, соответственно, при нажатии кнопки «Отобразить» — все скрытые строки — отображаются. Лист также остаётся защищённым.
Заранее спасибо !
А вот такой вопрос. Есть диапазон в 31 столбец, как скрыть столбцы выходящие за предел диапазона в зависимости от продолжительности месяца. то есть, если, к примеру февраль, то скрыть 3 или 2 последних столбца в диапазоне. Заранее спасибо за ответ !
Можно воспользоваться простеньким макрос скрытия столбцов по определенному условию (в данном случае, если в перовой строке есть цифра 1).
Sub Col() ‘Скрыть столбцы
Application.ScreenUpdating = False
For Each s In Cells(1, 1).CurrentRegion.Rows(1).Cells
Columns(s.Column).EntireColumn.Hidden = s.Value = 1
Next s
Application.ScreenUpdating = True
End Sub
Sub all() ‘Отобразить все
Application.ScreenUpdating = False
Cells.EntireColumn.Hidden = False
Cells.EntireRow.Hidden = False
Application.ScreenUpdating = True
End Sub
Прятаться — простая вещь, но здесь вам нужно понять концепцию. Чтобы скрыть столбец с помощью VBA, нам нужно определить, какой столбец нам нужно скрыть. Чтобы указать столбец, который нужно скрыть, нам нужно использовать объект RANGE Используйте объект RANGE Диапазон — это свойство в VBA, которое помогает указать конкретную ячейку, диапазон ячеек, строку, столбец или трехмерный диапазон. В контексте рабочего листа Excel объект диапазона VBA включает одну или несколько ячеек, распределенных по различным строкам и столбцам. читать далее .
Затем нам нужно использовать свойство «Весь столбец».
Во всем свойстве столбца нам нужно использовать свойство «Скрытый».
Затем, наконец, нам нужно установить для свойства Hidden значение TRUE.
Это скроет столбец A.
Как скрыть столбцы в VBA?
Мы можем скрыть столбцы несколькими способами. Мы можем скрыть столбец, используя объект Range, используя свойство CELLS Использование свойства CELLS Ячейки — это ячейки рабочего листа, и в VBA, когда мы ссылаемся на ячейки как на свойство диапазона, мы ссылаемся на одни и те же ячейки. В концепциях VBA ячейки также одинаковы, ничем не отличаются от обычных ячеек Excel. читать далее . На основе метода, который мы используем, нам нужно построить нашу Код VBA Код VBA Код VBA относится к набору инструкций, написанных пользователем на языке программирования приложений Visual Basic в редакторе Visual Basic (VBE) для выполнения определенной задачи. читать далее .
Пример № 1 — Скрыть с помощью объекта Range
Если вы хотите скрыть определенный столбец, укажите столбец внутри объекта RANGE. Посмотрите на данные ниже.
Теперь мы скроем весь столбец A, используя следующий код.
Код:
Итак, когда мы запустим код, мы получим следующий результат.
Пример № 2. Скрыть с помощью свойства Columns
Если вы хотите скрыть столбец с помощью свойства Columns, то приведенный ниже код для вас.
Код:
Это скроет столбец B. Здесь вы, должно быть, думаете, где находится свойство Весь столбец. Когда вы используете свойство Columns, нет необходимости использовать свойство Entire Column.
Мы по-прежнему можем использовать свойство Entire Column, но это не обязательно. И код для того же приведен ниже.
Код:
Это также должно работать нормально.
Мы также можем использовать номер столбца вместо алфавитной ссылки. И код для того же приведен ниже.
Код:
Это скроет столбец D.
Пример № 3. Скрытие нескольких столбцов
Мы также можем скрыть несколько столбцов одновременно. Нам нужно указать первый и последний столбец, чтобы промежуточные столбцы также были скрыты. Для тех же данных, что и в примере № 1, используйте следующий код, чтобы скрыть несколько столбцов.
Код:
Это скроет столбцы от A до C.
Мы также можем использовать следующий код, чтобы скрыть несколько столбцов в Excel VBA.
Код:
Приведенные выше методы скроют первые три столбца, т. е. A, B и C.
Пример № 4 — Скрыть столбцы с одной ячейкой
Мы также можем скрыть столбец на основе одного ссылка на ячейку Ссылка на ячейку Ссылка на ячейку в Excel ссылается на другие ячейки на ячейку, чтобы использовать ее значения или свойства. Например, если у нас есть данные в ячейке A2 и мы хотим использовать их в ячейке A1, используйте =A2 в ячейке A1, и это скопирует значение A2 в A1. читать далее . Нам не нужно указывать полную ссылку на столбец, чтобы скрыть столбец. С помощью всего одной ссылки на ячейку мы сможем скрыть столбец.
Код:
Это скроет весь столбец A.
Пример № 5. Скрыть все альтернативные столбцы
Предположим, у вас есть данные, что-то вроде изображения ниже.
Нам нужно скрыть все альтернативные столбцы, которые пусты. Нам нужно использовать циклы; приведенный ниже код сделает эту работу за нас.
Код:
Это скроет все альтернативные столбцы.
Пример № 6. Скрыть все пустые столбцы
В предыдущем примере все остальные альтернативные столбцы были пустыми; мы спрятались легко. Но посмотрите на данные ниже.
Здесь шаблон пустых столбцов не является стандартным. В этих случаях приведенный ниже код скроет все пустые столбцы. Неважно, какой узор.
Код:
Когда вы запустите код, вы получите следующий результат.
Пример № 7. Скрытие столбцов на основе значения ячейки
Теперь мы увидим, как скрыть столбцы на основе значения ячейки. Например, посмотрите на данные ниже.
Здесь я хочу скрыть все столбцы, если заголовок «Нет». Код ниже сделает это за меня.
Обычно на листе Excel у нас есть два разных метода удаления строк, один из которых является сочетанием клавиш, а другой — с помощью метода щелчка правой кнопкой мыши и вставки, но в VBA мы должны использовать команду удаления и оператор рабочего листа, чтобы удалить все строки вместе, хитрость это то, что если нам нужно удалить одну строку, мы даем ссылку на одну строку, но для нескольких столбцов мы даем несколько ссылок на строку.
Используя метод удаления строки VBA, мы можем удалить все пустые строки и удалить строку на основе значения ячейки. Мы также можем удалить всю строку, если какая-либо из ячеек пуста.
В этой статье мы обсудим метод «Удалить строку VBA». Займите себя чем-то в течение следующих 15-20 минут, чтобы узнать об этой концепции.
Как удалить строку?
Пример №1
В VBA нам нужно указать строку, которую мы удаляем.
Код:
Ячейки (1, 1) означают первый столбец первой строки, т. е. ячейку A1. Затем используем метод «удалить».
Код:
Теперь это удалит первую ячейку. Все значения правой стороны сместятся на одну ячейку влево.
Если вы хотите удалить всю строку, нам нужно использовать свойство «EntireRow», тогда нам нужно использовать метод «удалить», чтобы удалить всю строку выбранной нами ячейки.
Код:
Например, я ввел несколько символов на листе Excel следующим образом.
Теперь, если я запущу этот код, он удалит всю строку, а не одну ячейку.
Пример №3
Мы можем удалить строку несколькими способами. В приведенном выше примере мы удалили строку с помощью свойства CELLS. Теперь мы увидим, как удалить с помощью свойства ROWS.
Теперь нам нужно упомянуть, какую строку нам нужно удалить. Допустим, нам нужно удалить 5 й ряд.
Теперь используйте свойство «EntireRow».
После выбора свойства, что нам нужно сделать, т.е. метод. Нам нужно удалить строку.
Код:
Итак, этот код удалит 5 й ряд.
Пример №4
Удалить несколько строк с помощью объекта диапазона
Как удалить несколько строк?
Мы можем использовать объект VBA RANGE Используйте объект VBA RANGE Диапазон — это свойство в VBA, которое помогает указать конкретную ячейку, диапазон ячеек, строку, столбец или трехмерный диапазон. В контексте рабочего листа Excel объект диапазона VBA включает одну или несколько ячеек, распределенных по различным строкам и столбцам. читать далее чтобы удалить более одной строки. Предположим, у вас есть значения от ячеек от A1 до A6.
Теперь я хочу удалить первые 5 строк, поэтому я могу ссылаться на эти строки, используя объект Range как «Диапазон («A1: A5»)»
Код:
Теперь я хочу использовать свойство слова «EntireRow».
Код:
Во всей этой строке нам нужно выполнить метод удаления, поэтому используем метод Delete.
Код:
Теперь это удалит выбранные строки.
Пример №5
Удалить строки на основе значения ячейки
Мы также можем использовать это «Вся строка. Удалить» метод удаления строки на основе значение ячейки в VBA Значение ячейки в VBA В VBA есть два способа взаимодействия с ячейкой или получения значения из нее: метод диапазона и метод ячейки. читать далее . Например, у меня есть значения «Да» и «Нет» из ячеек от A1 до A10.
Теперь нам нужно удалить строки со значением «Нет». Чтобы выполнить эту задачу, нам нужно использовать функцию «ЕСЛИ» с циклами, чтобы удалить все строки со значением «Нет».
Приведенный ниже код сделает эту работу за нас.
Код:
Пример №6
Удалить все строки пустых ячеек
Бывают ситуации, когда нам нужно удалить всю строку, если какая-либо из ячеек в диапазоне пуста. Например, у меня есть набор данных ниже.
Все цветные ячейки пусты, поэтому мне нужно удалить всю строку. Мы можем выполнить эту задачу с помощью двух наборов кода. Ниже приведен код.
Код:
Это определит пустые ячейки в диапазоне от A1 до F10. Если будут найдены какие-либо пустые ячейки, они удалят всю строку.
Проблема с этим кодом заключается в том, что он удалит строку пустой ячейки только в диапазоне от A1 до F10, но если какие-либо ячейки пусты в любых других ячейках, он не будет удален. Помня об этом, я написал еще один код.
Код:
Когда вы запускаете этот код, во-первых, он попросит вас выбрать диапазон с полем ввода, появляющимся перед вами.
После выбора диапазона нужно нажать на ОК. Будет удалить все строки пустых ячеек Удалить все строки пустых ячеек Существует несколько способов удаления пустых строк из Excel: 1) Удаление пустых строк вручную, если пустых строк мало 2) Использование формулы удаления 3) Использование фильтра для поиска и удаления пустых строк. читать далее в выбранном диапазоне.
Обычно на листе Excel у нас есть два разных метода удаления столбцов, один из которых является сочетанием клавиш, а другой — с помощью метода щелчка правой кнопкой мыши и вставки, но в VBA мы должны использовать команду удаления и оператор всего столбца, чтобы удалить любой столбец вместе, хитрость это то, что если нам нужно удалить один столбец, мы даем ссылку на один столбец, но для нескольких столбцов мы даем несколько ссылок на столбцы.
Excel VBA Удалить столбец
Мы выполняем множество действий в Excel, таких как вырезание, копирование, вставка, добавление, удаление, вставка и многое другое, что мы делаем на регулярной основе. Мы можем использовать все эти действия, используя VBA Coding. Одной из важных концепций, которые нам нужно изучить, является «удаление столбца» в VBA. В этой статье мы покажем вам, как использовать эту опцию «Удалить столбец» в VBA.
Что делает удаление столбца в Excel VBA?
Как следует из названия, он удалит указанный столбец. Чтобы выполнить эту задачу, нам нужно сначала определить, какой столбец нам нужно удалить. Выбор столбцов для удаления отличается от одного сценария к другому, поэтому в этой статье мы рассмотрим некоторые важные и часто встречающиеся сценарии.
Удалить столбцы легко. Во-первых, нам нужно использовать свойство COLUMNS для выбора столбца, поэтому ниже приведен синтаксис метода удаления столбца в VBA.
Столбцы (Ссылка на столбец).Удалить
Таким образом, мы можем построить код следующим образом:
Это удалит столбец номер 2, то есть столбец B.
Если мы хотим удалить несколько столбцов, мы не можем вводить столбцы. Нам нужно ссылаться на столбцы по заголовкам столбцов, т. е. по алфавиту.
Это удалит столбец от A до D, т. е. первые 4 столбца.
Таким образом, мы можем использовать метод «Удалить столбец» в VBA для удаления определенных столбцов. В следующем разделе мы увидим больше примеров, чтобы лучше понять это. Читать дальше.
Примеры метода удаления столбца Excel VBA
Ниже приведены примеры удаления столбцов с помощью VBA.
Пример №1 – Использование метода удаления
Предположим, у вас есть техническое описание, подобное приведенному ниже.
Если мы хотим удалить месяц столбца «Мар», сначала выберите свойство столбцов.
Код:
Укажите номер столбца или алфавит. В данном случае это либо 3, либо C.
Код:
Используйте метод удаления.
Код:
Или вы можете ввести адрес столбца следующим образом.
Код:
Запустите этот код с помощью клавиши F5, или вы можете запустить вручную и посмотреть результат.
Оба кода будут выполнять одинаковую работу по удалению указанного столбца.
Если мы хотим удалить несколько столбцов, нам нужно указать их в алфавите. Здесь нельзя использовать номера столбцов.
Если мы хотим удалить столбцы со 2 по 4, мы можем передать код, как показано ниже.
Код:
Запустите этот код вручную через опцию запуска или нажмите клавишу F5. Это приведет к удалению столбцов «Фев», «Мар» и «Апр».
Пример № 2 — Удалить столбцы с именем рабочего листа
Выше приведен обзор того, как удалять столбцы с помощью кода VBA. Однако удаление столбцов не рекомендуется. Без ссылки на имя рабочего листа опасно слепо удалять столбец.
Если вы не упомянули имя рабочего листа, то какой бы лист ни был активен, он удалит столбцы этого листа.
Во-первых, нам нужно выбрать рабочий лист по его имени.
Код:
После выбора листа нам нужно выбрать столбцы. Мы также можем выбрать столбцы с помощью используя объект VBA RANGE Использование объекта VBA RANGE Диапазон — это свойство в VBA, которое помогает указать конкретную ячейку, диапазон ячеек, строку, столбец или трехмерный диапазон. В контексте рабочего листа Excel объект диапазона VBA включает одну или несколько ячеек, распределенных по различным строкам и столбцам. читать далее также.
Код:
Это приведет к удалению столбцов от B до D рабочего листа «Лист продаж». Для этого кода не имеет значения, какой из них активен. Тем не менее, он удалит только указанные столбцы этого листа.
Мы также можем построить Код VBA Код VBA Код VBA относится к набору инструкций, написанных пользователем на языке программирования приложений Visual Basic в редакторе Visual Basic (VBE) для выполнения определенной задачи. читать далее в самой строке.
Код:
Это также удаляет столбцы «от B до D», не выбирая рабочий лист «Лист продаж».
Пример № 3 — Удалить пустые столбцы
Предположим, у вас есть данные с альтернативными пустыми столбцами, как показано ниже.
Итак, удалите все альтернативные столбцы, которые мы можем использовать в приведенном ниже коде.
Код:
Запустите этот код с помощью клавиши F5 или вручную. Затем он удалит все альтернативные пустые столбцы, и наши данные будут выглядеть так.
Пример № 4 — Удалить столбцы пустых ячеек
А теперь посмотрите на этот пример. Есть определенные ситуации, когда нам нужно удалить весь столбец, если в диапазоне данных обнаружена какая-либо пустая ячейка. В качестве примера рассмотрим приведенные ниже данные.
Все ячейки желтого цвета пусты. Итак, мое требование — удалить все столбцы пустых ячеек. Приведенный ниже код сделает это.
Код:
Позвольте мне объяснить вам этот код построчно.
Наши данные находятся от A1 до F9, поэтому сначала мне нужно выбрать этот диапазон, и приведенный ниже код сделает это.
В этом выбранном диапазоне ячеек мне нужно выбрать пустые ячейки. Поэтому, чтобы выбрать пустую ячейку, нам нужно специальное свойство ячеек, и в этом свойстве мы использовали тип ячейки как пустой.
Далее он выберет все пустые ячейки, и при выделении мы удаляем весь столбец выделения.
Таким образом, наш конечный результат будет выглядеть так.
Везде, где он нашел пустую ячейку, он удалил эти пустые ячейки из всего столбца.
Вы можете скачать этот столбец удаления Excel VBA здесь — Шаблон удаления столбца VBA
Используйте свойство ColumnHidden , чтобы показать или скрыть указанный столбец в представлении Datasheet. Для чтения и записи, Boolean.
Синтаксис
выражения. ColumnHidden
выражение Переменная, представляющие объект ListBox .
Примечания
Например, может потребоваться скрыть слишком широкое поле CustomerAddress , чтобы просмотреть поля CustomerName и PhoneNumber .
Свойство ColumnHidden применяется ко всем полям в представлении Datasheet и формирует элементы управления, когда форма находится в представлении Datasheet.
Сокрытие столбца с свойством ColumnHidden в представлении Datasheet не скрывает поля из одного столбца в представлении Form. Аналогичным образом, при установке видимого свойства управления на False в представлении Формы не скрывается соответствующий столбец в представлении Datasheet.
Чтобы настроить или изменить это свойство для таблицы или запроса с помощью Visual Basic, необходимо использовать коллекцию свойств столбца. Дополнительные сведения об использовании коллекции свойств см. в см. в Properties.
Вы можете отображать поле в запросе, даже если столбец для поля скрыт в представлении таблицы Datasheet. Используйте значения из скрытого столбца в качестве критериев для фильтра, даже если столбец остается скрытым после применения фильтра.
Установка свойства ColumnWidth поля до 0 или изменения размеров поля до нулевой ширины в представлении Таблицы данных заставляет Microsoft Access задать соответствующее свойство ColumnHidden значение True. Разгрузка столбца восстанавливает свойство ColumnWidth до того, как поле было скрыто.
Свойство ColumnHidden не доступно в представлении Design.
Пример
В следующем примере поле ProductID скрывается в представлении таблицы данных формы Продуктов .
В следующем примере скрывается поле ProductID в представлении таблицы Продуктов таблицы Datasheet.
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.
Читайте также: