¿Cómo ocultar columnas en tiempo real según la entrada del usuario en Excel?
Puede ser una tarea común para la mayoría de nosotros ocultar columnas en Excel, pero, ¿alguna vez ha intentado ocultar columnas automáticamente en función de algunos valores de entrada específicos? Por ejemplo, cuando ingreso el texto “AA” en una celda, la columna A se oculta; cuando ingreso “BB”, se ocultan las columnas B y C; al ingresar “CC”, se ocultan las columnas D y E; al ingresar "DD", la columna F se oculta como se muestra a continuación. Este artículo creará un código VBA para resolverlo en Excel.
Oculte o muestre columnas en tiempo real según la entrada del usuario con código VBA
Oculte o muestre columnas para filtrar datos según la entrada del usuario con código VBA
Oculte o muestre columnas en tiempo real según la entrada del usuario con código VBA
Para ocultar las columnas específicas en tiempo real en función de los valores de entrada, aplique el siguiente código VBA:
1. En la hoja de trabajo en la que desea ocultar columnas, haga clic con el botón derecho en la pestaña de la hoja y luego haga clic en Ver código desde el menú contextual, ver captura de pantalla
2. En el abierto Microsoft Visual Basic para aplicaciones ventana, copie y pegue el siguiente código VBA en el Hoja (Código) ventana.
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": Columnas ("A").EntireColumn.Hidden = False
- Columnas("A").EntireColumn.Hidden = Verdadero
3. Luego, cierre la ventana de código. Ahora, al ingresar "AA" en la celda K1, y presione Enviar clave, la columna A está oculta; al ingresar “BB”, y presione Enviar clave, las columnas B y C están ocultas, y así sucesivamente. Si ingresa cualquier otro valor o elimina el contenido, las columnas ocultas se mostrarán a la vez, vea la demostración a continuación:
Oculte o muestre columnas para filtrar datos según la entrada del usuario con código VBA
En este ejemplo, filtraré un rango de datos basado en un nombre de producto ingresado. Cuando ingreso "Hoodie", solo se muestra la información de Hoodie y otras columnas se ocultarán a la vez; y cuando ingrese "Todos", todas las columnas se mostrarán como se muestra a continuación:
1. En la hoja de trabajo en la que desea ocultar columnas, haga clic con el botón derecho en la pestaña de la hoja y luego haga clic en Ver código en el menú contextual, vea la captura de pantalla:
2. En el abierto Microsoft Visual Basic para aplicaciones ventana, copie y pegue el siguiente código VBA en el Hoja (Código) ventana.
Código de 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. Luego, cierre la ventana de código. Ahora, si ingresa el nombre del producto en la celda K1, solo se mostrarán las columnas correspondientes, las otras estarán ocultas; y si ingresa el texto "Todos", todas las columnas aparecerán como se muestra a continuación:
Las mejores herramientas de productividad de oficina
Kutools para Excel resuelve la mayoría de sus problemas y aumenta su productividad en un 80%
- Reutilizar: Inserte rápidamente fórmulas complejas, gráficos y cualquier cosa que hayas usado antes; Cifrar celdas con contraseña; Crear lista de distribución y enviar correos electrónicos ...
- Barra de súper fórmula (edite fácilmente varias líneas de texto y fórmulas); Diseño de lectura (leer y editar fácilmente un gran número de celdas); Pegar en rango filtrado...
- Combinar celdas / filas / columnas sin perder datos; Contenido de celdas divididas; Combinar filas / columnas duplicadas... Prevenir celdas duplicadas; Comparar rangos...
- Seleccione Duplicado o Único Filas; Seleccionar filas en blanco (todas las celdas están vacías); Super Find y Fuzzy Find en muchos libros de trabajo; Selección aleatoria ...
- Copia exacta Varias celdas sin cambiar la referencia de la fórmula; Crear referencias automáticamente a varias hojas; Insertar viñetas, Casillas de verificación y más ...
- Extraer texto, Agregar texto, Eliminar por posición, Quitar espacio; Crear e imprimir subtotales de paginación; Convertir entre contenido de celdas y comentarios...
- Súper filtro (guardar y aplicar esquemas de filtros a otras hojas); Orden avanzado por mes / semana / día, frecuencia y más; Filtro especial en negrita, cursiva ...
- Combinar libros y hojas de trabajo; Combinar tablas basadas en columnas clave; Dividir datos en varias hojas; Conversión por lotes de xls, xlsx y PDF...
- Más de 300 potentes funciones. Compatible con Office/Excel 2007-2021 y 365. Compatible con todos los idiomas. Fácil implementación en su empresa u organización. Funciones completas Prueba gratuita de 30 días. Garantía de devolución de dinero de 60 días.

Office Tab lleva la interfaz con pestañas a Office y hace que su trabajo sea mucho más fácil
- Habilite 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 de la misma ventana, en lugar de en nuevas ventanas.
- ¡Aumenta su productividad en un 50% y reduce cientos de clics del mouse todos los días!
