Excel VBA Ocultar Colunas
Esconder é uma coisa 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 oculta, 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.
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 a 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. Ao utilizar a propriedade Colunas, não é necessário utilizar 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. Precisamos mencionar 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 referência de célula única. 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, algo como a imagem abaixo.

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
Agora veremos como ocultar colunas com base no valor da célula. Por exemplo, observe os dados abaixo.

Aqui, desejo ocultar todas as colunas se o título for “Não”. O código abaixo fará isso por mim.
Código:
Sub Column_Hide_Cell_Value () Dim k As Integer For k = 1 To 7 If Cells (1, k) .Value = "No" Then Colunas (k) .Oculto = True End If Next k End Sub

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