¿Cómo ocultar columnas en tiempo real según la entrada del usuario en Excel?
Ocultar columnas en Excel puede ser una tarea común, pero ¿alguna vez has intentado ocultar columnas automáticamente basándote en valores de entrada específicos? Por ejemplo, cuando escribo el texto “AA” en una celda, se oculta la columna A; cuando escribo “BB”, se ocultan las columnas B y C; al escribir “CC”, se ocultan las columnas D y E; al escribir “DD”, se oculta la columna F, como se muestra en la demostración a continuación. Este artículo proporcionará un código VBA para resolverlo en Excel.
Usa código VBA para ocultar o mostrar columnas en tiempo real según la entrada del usuario
Usa código VBA para ocultar o mostrar ciertas columnas basadas en la entrada del usuario
Usa código VBA para ocultar o mostrar columnas en tiempo real según la entrada del usuario
Para ocultar columnas específicas en tiempo real basadas en los valores de entrada, por favor aplica el siguiente código VBA:
1. En la hoja de cálculo donde deseas ocultar columnas, haz clic derecho en la pestaña de la hoja y luego haz clic en "Ver código" en el menú contextual, ver captura de pantalla.
2. En la ventana abierta de "Microsoft Visual Basic para Aplicaciones", copia y pega el siguiente código VBA en la ventana "Hoja (Código)".
Código VBA: Ocultar columnas en tiempo real basado en 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
- Case "AA": Columns("A").EntireColumn.Hidden = False
- Columns("A").EntireColumn.Hidden = True
3. Luego, cierra la ventana del código. Ahora, al ingresar “AA” en la celda K1 y presionar la tecla "Enter", la columna A se oculta; al ingresar “BB” y presionar la tecla "Enter", las columnas B y C se ocultan, y así sucesivamente. Si introduces cualquier otro valor o eliminas el contenido, las columnas ocultas se mostrarán de inmediato, ver la siguiente demostración:
Usa código VBA para ocultar o mostrar ciertas columnas basadas en la entrada del usuario
En este ejemplo, filtraré un rango de datos basado en el nombre de un producto ingresado. Cuando escriba “Hoodie”, solo se mostrará la información de Hoodie y las demás columnas se ocultarán de inmediato; y cuando escriba “All”, todas las columnas se mostrarán como se ve en la siguiente demostración:
1. En la hoja de cálculo donde deseas ocultar columnas, haz clic derecho en la pestaña de la hoja y luego haz clic en "Ver código" en el menú contextual, ver captura de pantalla:
2. En la ventana abierta de "Microsoft Visual Basic para Aplicaciones", copia y pega el siguiente código VBA en la ventana "Hoja (Código)".
Código VBA: Ocultar o mostrar columnas para filtrar datos basados en 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, cierra la ventana del código. Ahora, si introduces el nombre del producto en la celda K1, solo se mostrarán las columnas correspondientes, las demás se ocultarán; y si introduces el texto “All”, todas las columnas aparecerán como se muestra en la siguiente demostración:
Las mejores herramientas de productividad para Office
Potencia tus habilidades en Excel con Kutools para Excel y experimenta una eficiencia sin precedentes. Kutools para Excel ofrece más de300 funciones avanzadas para aumentar la productividad y ahorrar tiempo. Haz clic aquí para obtener la función que más necesitas...
Office Tab lleva la interfaz de pestañas a Office y facilita mucho tu trabajo
- Habilita la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
- Abre y crea varios documentos en nuevas pestañas de la misma ventana, en lugar de nuevas ventanas.
- ¡Aumenta tu productividad en un50% y reduce cientos de clics de ratón cada día!