VBA Скриване на колони - Как да скрия колони, използвайки VBA код?

Скриване на колони в Excel VBA

Скриването е просто нещо, но тук трябва да разберете концепцията. За да скрием колоната с помощта на VBA, трябва да определим коя колона трябва да скрием. За да посочим колоната, която да бъде скрита, трябва да използваме обекта RANGE.

Обхват ("A: A")

След това трябва да използваме свойството „Цяла колона“.

Обхват ("A: A"). Цяла колона

В цялото свойство на колоната трябва да използваме свойството „Скрито“.

Обхват ("A: A"). Цяла колона. Скрита

След това най-накрая трябва да зададем свойството Hidden на TRUE.

Обхват ("A: A"). EntireColumn.Hidden = TRUE

Това ще скрие колона А.

Как да скриете колони във VBA?

Можем да скрием колони по няколко начина. Можем да скрием колона, като използваме обект Range, като използваме свойството CELLS. Въз основа на метода, който използваме, трябва да изградим нашия VBA код.

Пример # 1 - Скриване с помощта на Range Object

Ако искате да скриете определена колона, посочете колоната вътре в обекта RANGE. Погледнете данните по-долу.

Сега ще скрием цялата колона А, като използваме следния код.

Код:

Sub Range_Hide () Обхват ("A: A"). EntireColumn.Hidden = True End Sub

Така че, когато стартираме кода, ще получим следния резултат.

Пример # 2 - Скриване с помощта на свойство Columns

Ако искате да скриете колоната, като използвате свойството Columns, тогава кодът по-долу е за вас.

Код:

Sub Range_Hide () Колони ("B"). Скрито = True End Sub

Това ще скрие колона Б. Тук трябва да мислите къде е свойството Цялата колона. Когато използвате свойството Columns, не е необходимо да използвате свойството Entire Column.

Все още можем да използваме свойството Цяла колона, но не е задължително. И кодът за същото е даден по-долу.

Код:

Sub Columns_Hide () Columns ("B"). EntireColumn.Hidden = True End Sub

Това също трябва да работи добре.

Можем да използваме и номера на колоната вместо азбучна препратка. И кодът за същото е даден по-долу.

Код:

Sub Columns_Hide () Columns (4) .EntireColumn.Hidden = True End Sub

Това ще скрие колона D.

Пример # 3 - Скриване на множество колони

Можем да скрием и няколко колони едновременно. Трябва да споменем първата и последната колона, така че между колоните също да бъдат скрити. За същите данни като пример # 1 използвайте следния код, за да скриете множество колони.

Код:

Sub Columns_Hide () Диапазон ("A: C"). EntireColumn.Hidden = Истински край Sub

Това ще скрие колони от А до В.

Можем да използваме и следния код, за да скрием множество колони в Excel VBA.

Код:

Sub Multi_Columns_Hide () Columns ("A: C"). EntireColumn.Hidden = True End Sub

Горните методи ще скрият първите три колони, т.е. A, B и C.

Пример # 4 - Скриване на колони с единична клетка

Също така можем да скрием колона въз основа на препратка към една клетка. Не е нужно да даваме пълната препратка към колоната, за да скрием колоната. Само с една препратка към клетка трябва да можем да скрием колона.

Код:

Sub Single_Hide () Обхват ("A5"). EntireColumn.Hidden = True End Sub

Това ще скрие цялата колона А.

Пример # 5 - Скриване на всяка алтернативна колона

Да приемем, че имате данни, нещо като изображението по-долу.

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

This will hide every alternate column.

Example #6 - Hide Every Empty Column

In the previous example, every other alternative column was blank; we have hidden easily. But look at the below data.

Here empty columns pattern is not standard. In these cases, the below code will hide all the empty columns. It doesn’t 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

Сега ще видим как да скрием колони въз основа на стойността на клетката. Например погледнете данните по-долу.

Тук искам да скрия всички колони, ако заглавието е „Не“. Кодът по-долу ще го направи за мен.

Код:

Sub Column_Hide_Cell_Value () Dim k As Integer For k = 1 To 7 If Cells (1, k) .Value = "No" Тогава Columns (k) .Hidden = True End If Next k End Sub

Когато стартирате кода, ще получите резултата, както следва.

Интересни статии...