Как скрыть или отобразить строки и столбцы с помощью свойства Range.Hidden из кода VBA Excel? Примеры скрытия и отображения строк и столбцов.
Range.Hidden — это свойство, которое задает или возвращает логическое значение, указывающее на то, скрыты строки (столбцы) или нет.
Синтаксис
Expression — выражение (переменная), возвращающее объект Range.
- True — диапазон строк или столбцов скрыт;
- False — диапазон строк или столбцов не скрыт.
Примечание
Указанный диапазон (Expression) должен охватывать весь столбец или строку. Это условие распространяется и на группы столбцов и строк.
Свойство Range.Hidden предназначено для чтения и записи.
Примеры кода с Range.Hidden
Пример 1
Варианты скрытия и отображения третьей, пятой и седьмой строк с помощью свойства Range.Hidden:
Sub Primer1() ‘Скрытие 3 строки Rows(3).Hidden = True ‘Скрытие 5 строки Range(«D5»).EntireRow.Hidden = True ‘Скрытие 7 строки Cells(7, 250).EntireRow.Hidden = True MsgBox «3, 5 и 7 строки скрыты» ‘Отображение 3 строки Range(«L3»).EntireRow.Hidden = False ‘Скрытие 5 строки Cells(5, 250).EntireRow.Hidden = False ‘Скрытие 7 строки Rows(7).Hidden = False MsgBox «3, 5 и 7 строки отображены» End Sub |
Пример 2
Варианты скрытия и отображения третьего, пятого и седьмого столбцов из кода VBA Excel:
Sub Primer2() ‘Скрытие 3 столбца Columns(3).Hidden = True ‘Скрытие 5 столбца Range(«E2»).EntireColumn.Hidden = True ‘Скрытие 7 столбца Cells(25, 7).EntireColumn.Hidden = True MsgBox «3, 5 и 7 столбцы скрыты» ‘Отображение 3 столбца Range(«C10»).EntireColumn.Hidden = False ‘Отображение 5 столбца Cells(125, 5).EntireColumn.Hidden = False ‘Отображение 7 столбца Columns(«G»).Hidden = False MsgBox «3, 5 и 7 столбцы отображены» End Sub |
Пример 3
Варианты скрытия и отображения сразу нескольких строк с помощью свойства Range.Hidden:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
Sub Primer3() ‘Скрытие одновременно 2, 3 и 4 строк Rows(«2:4»).Hidden = True MsgBox «2, 3 и 4 строки скрыты» ‘Скрытие одновременно 6, 7 и 8 строк Range(«C6:D8»).EntireRow.Hidden = True MsgBox «6, 7 и 8 строки скрыты» ‘Отображение 2, 3 и 4 строк Range(«D2:F4»).EntireRow.Hidden = False MsgBox «2, 3 и 4 строки отображены» ‘Отображение 6, 7 и 8 строк Rows(«6:8»).Hidden = False MsgBox «6, 7 и 8 строки отображены» End Sub |
Пример 4
Варианты скрытия и отображения сразу нескольких столбцов из кода VBA Excel:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
Sub Primer4() ‘Скрытие одновременно 2, 3 и 4 столбцов Columns(«B:D»).Hidden = True MsgBox «2, 3 и 4 столбцы скрыты» ‘Скрытие одновременно 6, 7 и 8 столбцов Range(«F3:H40»).EntireColumn.Hidden = True MsgBox «6, 7 и 8 столбцы скрыты» ‘Отображение 2, 3 и 4 столбцов Range(«B6:D6»).EntireColumn.Hidden = False MsgBox «2, 3 и 4 столбцы отображены» ‘Отображение 6, 7 и 8 столбцов Columns(«F:H»).Hidden = False MsgBox «6, 7 и 8 столбцы отображены» End Sub |
Довольно часто появляется необходимость в 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
Спасибо за внимание.
Hiding is simple, but you need to understand the concept here. To hide the column using VBA, we need to determine which column we need to hide. To specify the column to be hidden, we need to use the RANGE objectRange is a property in VBA that helps specify a particular cell, a range of cells, a row, a column, or a three-dimensional range. In the context of the Excel worksheet, the VBA range object includes a single cell or multiple cells spread across various rows and columns.read more.
Table of contents
- Excel VBA Hide Columns
- How to Hide Columns in VBA?
- Example #1 – Hide using Range Object
- Example #2 – Hide using Columns Property
- Example #3 – Hide Multiple Columns
- Example #4 – Hide Columns with Single Cell
- Example #5 – Hide Every Alternative Column
- Example #6 – Hide Every Empty Column
- Example #7 – Hide Columns Based On Cell Value
- Recommended Articles
- How to Hide Columns in VBA?
Range("A:A")
Then, we need to use the Property “Entire Column.”
Range("A:A").EntireColumn
We need to use the “Hidden” property in the column property.
Range("A:A").EntireColumn.Hidden
Then, we need to set the Hidden property to TRUE.
Range("A:A").EntireColumn.Hidden = TRUE
It will hide column A.
How to Hide Columns in VBA?
We can hide columns in several ways. We can hide a column using a Range object using the CELLS propertyCells are cells of the worksheet, and in VBA, when we refer to cells as a range property, we refer to the same cells. In VBA concepts, cells are also the same, no different from normal excel cells.read more. We need to construct our VBA codeVBA code refers to a set of instructions written by the user in the Visual Basic Applications programming language on a Visual Basic Editor (VBE) to perform a specific task.read more based on the method we use.
You can download this VBA Hide Columns Excel Template here – VBA Hide Columns Excel Template
Example #1 – Hide using Range Object
If you want to hide a particular column, then specify the column inside the RANGE object. For example, look at the below data.
Now, we will hide the entire column A using the following code.
Code:
Sub Range_Hide() Range("A:A").EntireColumn.Hidden = True End Sub
So, when we run the code, we will get the following result.
Example #2 – Hide using Columns Property
If you want to hide the column using the Columns property, then the below code is for you.
Code:
Sub Range_Hide() Columns("B").Hidden = True End Sub
It will hide column B. Here, you must be thinking about where the Entire Column property is. When you use the Columns property, it is unnecessary to use the Entire Column property.
We can still use the Entire Column property but not necessarily required. And code for the same is given below.
Code:
Sub Columns_Hide() Columns("B").EntireColumn.Hidden = True End Sub
It also should work fine.
We can use the column number as well instead of an alphabetic reference. And code for the same is given below.
Code:
Sub Columns_Hide() Columns(4).EntireColumn.Hidden = True End Sub
It will hide Column D.
Example #3 – Hide Multiple Columns
We can hide multiple columns at a time as well. We need to mention the first and the last column so that in between columns also will be hidden. Using the following code to hide multiple columns for the same data as example #1.
Code:
Sub Columns_Hide() Range("A:C").EntireColumn.Hidden = True End Sub
It will hide column A to C.
We can also use the following code to hide multiple columns in Excel VBA.
Code:
Sub Multi_Columns_Hide() Columns("A:C").EntireColumn.Hidden = True End Sub
The above methods will hide the first three columns: A, B, and C.
Example #4 – Hide Columns with Single Cell
We can also hide a column based on a single cell referenceCell reference in excel is referring the other cells to a cell to use its values or properties. For instance, if we have data in cell A2 and want to use that in cell A1, use =A2 in cell A1, and this will copy the A2 value in A1.read more. We do not need to give the full column reference to hide the column. With just a single cell reference, we should be able to hide a column.
Code:
Sub Single_Hide() Range("A5").EntireColumn.Hidden = True End Sub
It will hide the entire column A.
Example #5 – Hide Every Alternative Column
Assume you have data, something like the below image.
We need to hide every alternative column, which is blank. We need to use loops; the below code will do the job for us.
Code:
Sub AlternativeColumn_Hide() Dim k As Integer For k = 1 To 7 Cells(1, k + 1).EntireColumn.Hidden = True k = k + 1 Next k End Sub
It will hide every alternate column.
Example #6 – Hide Every Empty Column
In the previous example, every other alternative column was blank. So we have hidden it easily. But look at the below data.
Here, the empty columns pattern is not standard. In these cases, the below code will hide all the empty columns. It does not matter what the pattern is.
Code:
Sub Column_Hide1() Dim k As Integer For k = 1 To 11 If Cells(1, k).Value = "" Then Columns(k).Hidden = True End If Next k End Sub
When you run the code, you will get the result as follows.
Example #7 – Hide Columns Based On Cell Value
Now we will see how to hide columns based on the cell value. For example, look at the below data.
Here, we want to hide all the columns if the heading is “No.” The below code will do it for me.
Code:
Sub Column_Hide_Cell_Value() Dim k As Integer For k = 1 To 7 If Cells(1, k).Value = "No" Then Columns(k).Hidden = True End If Next k End Sub
When you run the code, you will get the result as follows.
Recommended Articles
This article has been a guide to VBA Hide Columns. Here, we discuss hiding columns in VBA Excel and the practical examples and downloadable Excel sheets. You can learn more about VBA from the following articles: –
- What is Intersect in Excel VBA?
- Change Directory in VBA
- VBA Collections
- InputBox in VBA
Return to VBA Code Examples
In this Article
- Hide Columns or Rows
- Hide Columns
- Hide Rows
- Unhide Columns or Rows
- Unhide All Columns or Rows
This tutorial will demonstrate how to hide and unhide rows and columns using VBA.
Hide Columns or Rows
To hide columns or rows set the Hidden Property of the Columns or Rows Objects to TRUE:
Hide Columns
There are several ways to refer to a column in VBA. First you can use the Columns Object:
Columns("B:B").Hidden = True
or you can use the EntireColumn Property of the Range or Cells Objects:
Range("B4").EntireColumn.Hidden = True
or
Cells(4,2).EntireColumn.Hidden = True
Hide Rows
Similarly, you can use the Rows Object to refer to rows:
Rows("2:2").Hidden = True
or you can use the EntireRow Property of the Range or Cells Objects:
Range("B2").EntireRow.Hidden = True
or
Cells(2,2).EntireRow.Hidden = True
Unhide Columns or Rows
To unhide columns or rows, simply set the Hidden Property to FALSE:
Columns("B:B").Hidden = False
or
Rows("2:2").Hidden = False
Unhide All Columns or Rows
To unhide all columns in a worksheet, use Columns or Cells to reference all columns:
Columns.EntireColumn.Hidden = False
or
Cells.EntireColumn.Hidden = False
Similarily to unhide all rows in a worksheet use Rows or Cells to reference all rows:
Rows.EntireRow.Hidden = False
or
Cells.EntireRow.Hidden = False
VBA Coding Made Easy
Stop searching for VBA code online. Learn more about AutoMacro — A VBA Code Builder that allows beginners to code procedures from scratch with minimal coding knowledge and with many time-saving features for all users!
Learn More!
- Excel VBA Скрыть столбцы
Excel VBA Скрыть столбцы
Скрытие и отображение столбцов в 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, или мы можем выбрать любое другое имя в соответствии с нашим выбором, как показано ниже.
Код:
Sub Hide_Column () End Sub
Сначала выберите столбцы, которые нам нужно скрыть. Здесь мы скрываем столбец C.
Код:
Sub Hide_Column () Range ("C: C") End Sub
Поскольку мы хотим скрыть весь столбец C, выберите функцию FullColumn, а затем Hidden, как показано ниже.
Код:
Sub Hide_Column () Range ("C: C"). ВесьColumn.Hidden End Sub
Теперь, чтобы это произошло, мы можем выбрать ответ ИСТИНА или ЛОЖЬ. Если мы выберем Hidden как TRUE, тогда это будет скрывающая функция или если FALSE, тогда она будет работать как скрывающая функция. Поскольку мы хотим скрыть выбранные столбцы C из диапазона, мы бы выбрали здесь TRUE.
Код:
Sub Hide_Column () Range ("C: C"). FullColumn.Hidden = True End Sub
Теперь скомпилируйте код и запустите его, нажав кнопку Play, расположенную под строкой меню в VBA. Мы увидим, что столбец C теперь скрыт, теперь он показывает только столбцы A, B и D.
Если мы хотим скрыть более одного столбца вместе. Затем в диапазоне нам нужно выбрать эти столбцы, как показано ниже. Здесь мы выбираем столбцы B и C.
Код:
Sub Hide_Column () Range ("B: C"). FullColumn.Hidden = True End Sub
Теперь снова запустите код.
Здесь мы видим, столбцы B и C теперь скрыты. И только столбцы A и D видны.
Excel VBA Hide Column — Пример № 2
Вместо того, чтобы выбирать столбцы путем упоминания имени, мы также можем скрыть любой столбец по их последовательности. Во многих случаях этот процесс не является предпочтительным, поскольку мы можем легко узнать имя столбца, в котором находится столбец в алфавитном порядке. Этот процесс похож на код, который мы видели в примере № 1, где мы выбрали имя столбца как B и B: C, мы выберем порядковый номер, в котором расположен столбец. Если предположить, что мы хотим скрыть столбец A, используя код примера-1, нам просто нужно поместить порядковый номер, а не выбирать его с помощью Range.
Код:
Sub Hide_Column2 () Columns (1) .EntireColumn.Hidden = True End Sub
Теперь запустите этот код, нажав клавишу F5 или нажав кнопку Play. Мы увидим, столбец А, который находится на первой позиции, теперь скрыт.
Excel VBA Hide Column — Пример № 3
Есть еще один способ скрыть столбец, используя код VBA. Это также просто, как код, который мы видели в примере № 1. Для этого мы снова будем использовать те же данные, которые мы использовали в приведенном выше примере. Запишите подкатегорию под любым именем или именем выполняемой функции.
Код:
Sub Hide_Column3 () End Sub
Выберите любой диапазон столбца, который нам нужно скрыть. Здесь мы выбираем тот же столбец C.
Код:
Sub Hide_Column3 () Range ("C: C") End Sub
Чтобы активировать выбор необходимого столбца, выберите функцию « Столбцы», как показано ниже.
Код:
Sub Hide_Column3 () Range ("C: C"). Столбцы End Sub
Затем используйте скрытую команду, чтобы активировать функцию скрытия и отображения в VBA.
Код:
Sub Hide_Column3 () Range ("C: C"). Columns.Hidden End Sub
И выберите ИСТИНА, чтобы скрыть выбранный столбец, и ЛОЖЬ, чтобы скрыть выбранный скрытый столбец.
Код:
Sub Hide_Column3 () Range ("C: C"). Columns.Hidden = True End Sub
Столбец C, который был нашим столбцом диапазона, теперь скрыт.
Excel VBA Hide Column — Пример № 4
Есть еще один простой способ автоматизировать процесс скрытия столбцов в VBA. Для этого снова напишите подкатегорию в имени VBA Hide Columns.
Код:
Sub Hide_Column4 () End Sub
Прямо выберите столбец, который нам нужно скрыть. Здесь снова мы выбираем тот же столбец C.
Код:
Sub Hide_Column4 () Столбцы ("C") End Sub
И выберите скрытую команду как ИСТИНА, чтобы активировать процесс скрытия. Или выберите ЛОЖЬ, чтобы активировать процесс отображения.
Код:
Sub Hide_Column4 () Столбцы ("C"). Hidden = True End Sub
Посмотрим, колонка С снова скрыта.
Плюсы и минусы Excel VBA Скрыть столбец
- Процесс VBA Hide Column очень прост в реализации.
- Мы можем скрыть любой тип столбца Range, будь то в последовательности или в случайных позициях.
- Поскольку процесс VBA Hide Column прост в применении, но в ручном режиме, он также прост, как в коде VBA. Таким образом, это не вносит большой вклад в экономию. Настоятельно рекомендуется только тогда, когда мы работаем над написанием огромного кода.
То, что нужно запомнить
- Мы скрываем и отображаем столбец с помощью некоторого кода VBA. Для отображения, используйте FALSE вместо TRUE для функциональной цели.
- Порядковый номер столбца также позволяет скрыть столбец, кроме выбора имени столбца, которое упоминается в алфавитном порядке.
Рекомендуемые статьи
Это руководство к VBA Hide Columns. Здесь мы обсудим, как скрыть столбцы в Excel, используя код VBA, а также приведем практические примеры и загружаемый шаблон Excel. Вы также можете просмотреть наши другие предлагаемые статьи —
- Рабочие листы в Excel VBA
- Группировка столбцов в Excel (примеры)
- Как создать пользовательскую форму в Excel VBA?
- Как переместить столбцы в Excel?