KutoolsforOffice — Una solución, cinco potentes herramientas.Lograr más con menos esfuerzo.Venta de marzo: 20 % de descuento

¿Cómo ocultar columnas en tiempo real según lo que introduzca el usuario en Excel?

AutorXiaoyang Fecha de modificación

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.

Una captura de pantalla que muestra cómo abrir la ventana de Visual Basic para Aplicaciones en Excel haciendo clic con el botón derecho en la pestaña de la hoja

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
Nota: En el código anterior, «K1» es la celda donde introduce el texto específico. Debe ajustar el texto y los nombres de las columnas según sus necesidades. Además, puede añadir otros criterios nuevos simplemente incorporando los siguientes fragmentos de código:
  • Caso «AA»: Columns(«A»).EntireColumn.Hidden = False
  • Columns(«A»).EntireColumn.Hidden = True

Una captura de pantalla de la ventana del código VBA en Excel con el código pegado para ocultar columnas según la entrada del usuario

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:

Una captura de pantalla que muestra cómo abrir la ventana de Visual Basic para Aplicaciones en Excel haciendo clic con el botón derecho en la pestaña de la hoja

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
Nota: En el código anterior, «K1» es la celda donde introduce el texto específico y «B1:H1» son las cabeceras de fila que contienen los nombres de los productos que desea filtrar.

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

🤖KUTOOLS AI Asistente: Revolucione Análisis de datos basándose en:Ejecución Inteligente   |  Generar código|  Crear fórmulas personalizadas  |  Analizar datos y generar gráficos|  Invocar Funciones mejoradas
Funciones populares:Buscar, resaltar o Marcar duplicados   |  Eliminar filas en blanco   |  Combinar Columnas o celdas sin perder datos   |   Redondeo sin usar fórmulas...
Super BUSCARV:Búsqueda vertical (VLookup) con múltiples criterios  |  Búsqueda vertical (VLookup) con múltiples valores  |   Búsqueda vertical (VLookup) entre varias hojas   |   Coincidencia difusa....
Lista desplegable avanzada:Crear rápidamente una lista desplegable   |  Lista desplegable dependiente   |  Lista desplegable de selección múltiple....
Gestor de columnas:Añadir un número específico de columnas|Mover columnas|Alternar el estado de visibilidad de columnas ocultas|Comparar rangos y columnas...
Funciones destacadas:Cuadrícula de enfoque   |  Vista de diseño   |Barra de fórmulas mejorada   | Gestor de libros y hojas   |  Biblioteca de recursos(Texto automático)|  Selector de Fecha   |  Combinar Hojas de Cálculo  |  Cifrar/Descifrar celdas   | Enviar correos electrónicos desde una lista   |  Super Filtro   |   Filtro especial(Filtrar celdas con fuente en negrita/cursiva/tachado...) ...
Principales conjuntos de herramientas 15:12 Herramientasde texto(Agregar texto,Eliminar caracteres específicos, ...)|   50+Tiposde gráfico(Diagrama de Gantt, ...)|   40+ Fórmulas prácticas(Calcular la edad basada en la fecha de nacimiento, ...)|   19 Herramientasde inserción(Insertar Código QR,Insertar imagen desde ruta, ...)|   12 Herramientasde conversión(Convertir a palabras,Conversión de moneda, ...)|   7 Herramientasde combinación y división(Combinar filas avanzado,Dividir celdas, ...)|...y muchas más
Use Kutools en su idioma preferido: compatible con inglés, español, alemán, francés, chino y 40+ más idiomas.¡

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.

ExcelWordOutlookTabsPowerPoint
  • 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