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 VBAExemplo # 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.