Excel VBA Ocultar columnas
Ocultar es una cosa 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")
Luego debemos 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 VERDADERO.
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.
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 n. ° 2: Ocultar usando la propiedad Columns
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. Necesitamos mencionar la primera y la última columna para 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, algo como la imagen de abajo.

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
Ahora veremos cómo ocultar columnas según el valor de la celda. Por ejemplo, mire los datos a continuación.

Aquí quiero ocultar todas las columnas si el encabezado es "No". El siguiente código lo hará por mí.
Código:
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

Cuando ejecute el código, obtendrá el resultado de la siguiente manera.
