Ocultar columnas de VBA

Excel VBA Ocultar columnas

Ocultar es lo más simple, pero debe comprender el concepto aquí. Para ocultar la columna usando VBA, necesitamos determinar qué columna debemos ocultar. Para especificar la columna a ocultar, necesitamos usar el objeto RANGE.

Rango ("A: A")

Entonces necesitamos usar la propiedad "Toda la columna".

Rango ("A: A"). Toda la columna

En toda la propiedad de la columna, necesitamos usar la propiedad "Oculto".

Rango ("A: A"). Columna completa.Oculto

Luego, por fin, debemos establecer la propiedad Hidden en TRUE.

Rango ("A: A"). EntireColumn.Hidden = TRUE 

Esto ocultará la columna A.

¿Cómo ocultar columnas en VBA?

Podemos ocultar columnas de varias formas. Podemos ocultar una columna usando un objeto Range, usando la propiedad CELLS. Según el método que usamos, necesitamos construir nuestro código VBA.

Puede descargar esta plantilla de Excel para ocultar columnas de VBA aquí - Plantilla de Excel para ocultar columnas de VBA

Ejemplo # 1 - Ocultar usando Objeto de rango

Si desea ocultar una columna en particular, especifique la columna dentro del objeto RANGE. Mira los datos a continuación.

Ahora ocultaremos toda la columna A usando el siguiente código.

Código:

 Sub Range_Hide () Rango ("A: A"). EntireColumn.Hidden = True End Sub 

Entonces, cuando ejecutamos el código, obtendremos el siguiente resultado.

Ejemplo # 2 - Ocultar usando la propiedad de columnas

Si desea ocultar la columna usando la propiedad Columns, el siguiente código es para usted.

Código:

 Sub Range_Hide () columnas ("B"). Hidden = True End Sub 

Esto ocultará la columna B. Aquí debe estar pensando dónde está la propiedad de Toda la columna. Cuando usa la propiedad Columns, no es necesario usar la propiedad Toda la columna.

Todavía podemos usar la propiedad Toda la columna, pero no necesariamente es obligatorio. Y el código para el mismo se proporciona a continuación.

Código:

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

Esto también debería funcionar bien.

También podemos usar el número de columna en lugar de la referencia alfabética. Y el código para el mismo se proporciona a continuación.

Código:

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

Esto ocultará la columna D.

Ejemplo n. ° 3 - Ocultar varias columnas

También podemos ocultar varias columnas a la vez. Para esto, debemos mencionar la primera y la última columna, de modo que entre columnas también se oculten. Para los mismos datos del ejemplo n. ° 1, use el siguiente código para ocultar varias columnas.

Código:

 Sub Columns_Hide () Rango ("A: C"). EntireColumn.Hidden = True End Sub 

Esto ocultará la columna A a C.

También podemos usar el siguiente código para ocultar múltiples columnas en Excel VBA.

Código:

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

Los métodos anteriores ocultarán las primeras tres columnas, es decir, A, B y C.

Ejemplo n. ° 4 - Ocultar columnas con una celda

También podemos ocultar una columna basada en una referencia de celda única. No es necesario que proporcione la referencia de columna completa para ocultar la columna. Con una sola referencia de celda deberíamos poder ocultar una columna.

Código:

 Sub Single_Hide () Rango ("A5"). EntireColumn.Hidden = True End Sub 

Esto ocultará toda la columna A.

Ejemplo n. ° 5: ocultar todas las columnas alternativas

Suponga que tiene datos similares a los de la siguiente imagen.

Necesitamos ocultar todas las columnas alternativas que estén en blanco. Para que esto suceda, necesitamos usar bucles, el siguiente código hará el trabajo por nosotros.

Código:

 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 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

Now we will see how to hide column based on the cell value. For an example look at the below data.

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.