Saltar al contenido principal

¿Cómo ocultar columnas en tiempo real según la entrada del usuario en Excel?

Autor: Xiaoyang Última modificación: 2022-09-09

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
Note: En el código anterior, K1 es la celda donde ingresa el texto específico, y debe cambiar los textos y los nombres de las columnas según sus necesidades. Además, puede agregar otros criterios nuevos simplemente agregando los siguientes scripts:
  • 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
Note: En el código anterior, K1 es la celda donde ingresas el texto específico, B1: H1 son los encabezados de fila que contienen el nombre del producto que desea filtrar.

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

🤖 Asistente de IA de Kutools: Revolucionar el análisis de datos basado en: Ejecución inteligente   |  Generar codigo  |  Crear fórmulas personalizadas  |  Analizar datos y generar gráficos  |  Invocar funciones de Kutools...
Características populares: Buscar, resaltar o identificar duplicados   |  Eliminar filas en blanco   |  Combine columnas o celdas sin perder datos   |   Ronda sin fórmula ...
Super búsqueda: Búsqueda virtual de criterios múltiples    Búsqueda V de valores múltiples  |   VLookup en varias hojas   |   Búsqueda difusa ....
Lista desplegable avanzada: Crear rápidamente una lista desplegable   |  Lista desplegable dependiente   |  Lista desplegable de selección múltiple ....
Administrador de columnas: Agregar un número específico de columnas  |  Mover columnas  |  Toggle Estado de visibilidad de columnas ocultas  |  Comparar rangos y columnas ...
Características destacadas: Enfoque de cuadrícula   |  Vista de diseño   |   Gran barra de fórmulas    Administrador de hojas y libros de trabajo   |  Biblioteca de Recursos (Texto automático)   |  Selector de fechas   |  Combinar hojas de trabajo   |  Cifrar/descifrar celdas    Enviar correos electrónicos por lista   |  Súper filtro   |   Filtro especial (filtro negrita/cursiva/tachado...) ...
Los 15 mejores conjuntos de herramientas12 Texto Herramientas (Añadir texto, Quitar caracteres, ...)   |   50+ Tabla Tipos (Diagrama de Gantt, ...)   |   40+ Práctico Fórmulas (Calcular la edad según el cumpleaños, ...)   |   19 Inserción Herramientas (Insertar código QR, Insertar imagen desde la ruta, ...)   |   12 Conversión Herramientas (Números a palabras, Conversión de Moneda, ...)   |   7 Fusionar y dividir Herramientas (Filas combinadas avanzadas, Células partidas, ...)   |   ... y más

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...

Descripción


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!
Comments (0)
No ratings yet. Be the first to rate!
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations