VBA Esconder Colunas

Excel VBA Ocultar Colunas

Esconder é simples, mas você precisa entender o conceito aqui. Para ocultar a coluna usando VBA, precisamos determinar qual coluna precisamos ocultar. Para especificar a coluna a ser escondida, precisamos usar o objeto RANGE.

Intervalo ("A: A")

Então precisamos usar a propriedade “Coluna inteira”.

Intervalo ("A: A"). ColunaInteira

Em toda a propriedade da coluna, precisamos usar a propriedade “Hidden”.

Range ("A: A"). WholeColumn.Hidden

Então, finalmente, precisamos definir a propriedade Hidden como TRUE.

Range ("A: A"). WholeColumn.Hidden = TRUE 

Isso ocultará a coluna A.

Como ocultar colunas no VBA?

Podemos ocultar colunas de várias maneiras. Podemos ocultar uma coluna usando um objeto Range, usando a propriedade CELLS. Com base no método que usamos, precisamos construir nosso código VBA.

Você pode baixar este modelo do Excel para ocultar colunas do VBA aqui - Modelo do Excel para ocultar colunas do VBA

Exemplo # 1 - Ocultar usando objeto Range

Se você deseja ocultar uma determinada coluna, especifique a coluna dentro do objeto RANGE. Veja os dados abaixo.

Agora vamos ocultar toda a coluna A usando o código a seguir.

Código:

 Sub Range_Hide () Range ("A: A"). WholeColumn.Hidden = True End Sub 

Portanto, quando executarmos o código, obteremos o seguinte resultado.

Exemplo 2 - Ocultar usando propriedade de colunas

Se você deseja ocultar a coluna usando a propriedade Columns, o código abaixo é para você.

Código:

 Sub Intervalo_Ocultar () Colunas ("B"). Oculto = True End Sub 

Isso ocultará a coluna B. Aqui você deve estar pensando onde está a propriedade Coluna Inteira. Quando você usa a propriedade Colunas, não é necessário usar a propriedade Coluna Inteira.

Ainda podemos usar a propriedade Coluna Inteira, mas não necessariamente obrigatória. E o código para o mesmo é fornecido abaixo.

Código:

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

Isso também deve funcionar bem.

Podemos usar o número da coluna também em vez da referência alfabética. E o código para o mesmo é fornecido abaixo.

Código:

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

Isso ocultará a coluna D.

Exemplo # 3 - Ocultar várias colunas

Também podemos ocultar várias colunas de uma vez. Para isso, precisamos citar a primeira e a última coluna, para que as colunas intermediárias também sejam ocultadas. Para os mesmos dados do exemplo 1, use o código a seguir para ocultar várias colunas.

Código:

 Sub Columns_Hide () Range ("A: C"). WholeColumn.Hidden = True End Sub 

Isso ocultará as colunas A a C.

Também podemos usar o código a seguir para ocultar várias colunas no Excel VBA.

Código:

 Sub Multi_Columns_Hide () Colunas ("A: C"). WholeColumn.Hidden = True End Sub 

Os métodos acima irão ocultar as três primeiras colunas, ou seja, A, B e C.

Exemplo # 4 - Ocultar colunas com uma única célula

Também podemos ocultar uma coluna com base em uma única referência de célula. Não precisamos fornecer a referência completa da coluna para ocultar a coluna. Com apenas uma referência de célula única, devemos ser capazes de ocultar uma coluna.

Código:

 Sub Single_Hide () Range ("A5"). WholeColumn.Hidden = True End Sub 

Isso ocultará toda a coluna A.

Exemplo # 5 - Ocultar todas as colunas alternativas

Suponha que você tenha dados parecidos com a imagem abaixo.

Precisamos ocultar todas as colunas alternativas que estão em branco. Para que isso aconteça, precisamos usar loops, o código abaixo fará o trabalho para nós.

Código:

 Sub AlternativeColumn_Hide () Dim k As Integer Para k = 1 a 7 células (1, k + 1) .EntireColumn.Hidden = True k = k + 1 Next k End Sub 

Isso ocultará todas as colunas alternativas.

Exemplo # 6 - Ocultar cada coluna vazia

No exemplo anterior, todas as outras colunas alternativas estavam em branco e ocultamos facilmente. Mas veja os dados abaixo.

Aqui, o padrão de colunas vazias não é padrão. Nestes casos, o código abaixo irá ocultar todas as colunas vazias, não importa qual seja o padrão.

Código:

 Sub Column_Hide1 () Dim k As Integer For k = 1 To 11 If Cells (1, k) .Value = "" Then Colunas (k) .Oculto = True End If Next k End Sub 

Ao executar o código, você obterá o resultado da seguinte maneira.

Exemplo # 7 - Ocultar colunas com base no valor da célula

Agora veremos como ocultar a coluna com base no valor da célula. Para obter um exemplo, veja os dados abaixo.

Here I want to hide all the columns if the heading is “No”. 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.