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