¿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 Participar clave, la columna A está oculta; al ingresar “BB”, y presione Participar 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
Mejore sus habilidades de Excel con Kutools for Excel y experimente la eficiencia como nunca antes. Kutools for Excel ofrece más de 300 funciones avanzadas para aumentar la productividad y ahorrar tiempo. Haga clic aquí para obtener la función que más necesita...
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!