¿Cómo ocultar columnas en tiempo real según lo que introduzca el usuario en Excel?
Ocultar columnas en Excel puede ser una tarea habitual, pero ¿ha probado alguna vez a ocultar columnas automáticamente según los valores que introduce? Por ejemplo, al escribir «AA» en una celda, se oculta la columna A; al introducir «BB», se ocultan las columnas B y C; al escribir «CC», se ocultan las columnas D y E; y al introducir «DD», se oculta la columna F, tal como se muestra en la siguiente demostración. Este artículo le ofrece un código VBA para lograrlo en Excel.
Utilice código VBA para ocultar o mostrar columnas en tiempo real según la entrada del usuario
Utilice código VBA para ocultar o mostrar determinadas columnas según la entrada del usuario
Utilice código VBA para ocultar o mostrar columnas en tiempo real según la entrada del usuario
Para ocultar las Especificar columna en tiempo real en función de los valores introducidos, aplique el siguiente código VBA:
1. En la hoja de cálculo donde desea ocultar columnas, haga clic con el botón derecho en la pestaña de la hoja y seleccione «Ver código» en el menú contextual; consulte la captura de pantalla.

2. En la ventana abierta de «Microsoft Visual Basic para Aplicaciones», copie y pegue el siguiente código VBA en la ventana «Hoja (Código)».
Código VBA: Ocultar columnas en tiempo real según la entrada del usuario
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'Updateby ExtendOffice
xcell = Range("K1").Value
Select Case xcell
Case "AA": Columns("A").EntireColumn.Hidden = False
Columns("A").EntireColumn.Hidden = True
Case "BB": Columns("B:C").EntireColumn.Hidden = False
Columns("B:C").EntireColumn.Hidden = True
Case "CC": Columns("D:E").EntireColumn.Hidden = False
Columns("D:E").EntireColumn.Hidden = True
Case "DD": Columns("F").EntireColumn.Hidden = False
Columns("F").EntireColumn.Hidden = True
Case Else
Columns("A:G").EntireColumn.Hidden = False
End Select
End Sub
- Caso «AA»: Columns(«A»).EntireColumn.Hidden = False
- Columns(«A»).EntireColumn.Hidden = True

3. A continuación, cierre la ventana de código. Ahora, al introducir «AA» en la celda K1 y pulsar la tecla «Entrar», se ocultará la columna A; al introducir «BB» y pulsar «Entrar», se ocultarán las columnas B y C, y así sucesivamente. Si introduce cualquier otro valor o borra el contenido, las columnas ocultas se mostrarán inmediatamente. Consulte la demostración siguiente:
Utilice código VBA para ocultar o mostrar determinadas columnas según la entrada del usuario
En este ejemplo, filtraré un rango de datos según el nombre del producto introducido. Al escribir «Hoodie», solo se muestra la información correspondiente a Hoodie, ocultando inmediatamente las demás filas; y al escribir «All», se muestran todas las filas, tal como se ilustra en la siguiente demostración:
1. En la hoja de cálculo donde desee ocultar columnas, haga clic con el botón derecho en la pestaña de la hoja y seleccione «Ver código» en el menú contextual; consulte la captura de pantalla:

2. En la ventana abierta de «Microsoft Visual Basic para Aplicaciones», copie y pegue el siguiente código VBA en la ventana «Hoja (Código)».
Código VBA: Ocultar o mostrar columnas para filtrar datos según la entrada del usuario
Private Sub Worksheet_Change(ByVal Target As Range)
'Updateby ExtendOffice
Dim x As Variant, y As String
If Target.Address = "$K$1" Then
y = Target.Value
With Range("B1:H1")
Application.ScreenUpdating = False
.EntireColumn.Hidden = (y <> "All")
If y <> "All" Then
For Each x In .Cells
If x = y Then x.EntireColumn.Hidden = False
Next
End If
Application.ScreenUpdating = True
End With
End If
End Sub
3. A continuación, cierre la ventana de código. Ahora, al introducir el nombre del producto en la celda K1, solo se mostrarán las columnas correspondientes y el resto se ocultarán; si, en cambio, escribe «All», aparecerán todas las columnas, tal como se muestra en la siguiente demostración:
Las mejores herramientas de productividad para Office
Potencie sus habilidades en Excel con Kutools para Excel y experimente una eficiencia como nunca antes.Kutools para Excel ofrece más de 300 funciones avanzadas para aumentar su productividad y Ahorrar tiempo.Haga clic aquí para obtener la función que más necesita...
Office Tab aporta una interfaz con pestañas a Office y hace que su trabajo sea mucho más fácil
- Active la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
- Abra y cree varios documentos en nuevas pestañas dentro de la misma ventana, en lugar de hacerlo en ventanas separadas.
- ¡Aumente su productividad en un 50 % y elimine cientos de clics del ratón cada día!
Todos los complementos de Kutools en un solo instalador.
Kutools for Office es la suite que incluye complementos para Excel, Word, Outlook y PowerPoint, además de Office Tab Pro, ideal para equipos que trabajan en distintas aplicaciones de Office.
- Suite integral— complementos para Excel, Word, Outlook y PowerPoint + Office Tab Pro
- Un instalador, una licencia— configuración en minutos (compatible con MSI)
- Rendimiento mejorado en conjunto— productividad optimizada en todas las aplicaciones de Office
- Prueba gratuita de 30 días con todas las funciones— sin registro ni tarjeta de crédito
- La mejor relación calidad-precio— ahorre frente a la compra individual de complementos