Skip to main content

¿Cómo filtrar una Tabla Dinámica basada en un valor de celda específico en Excel?

Author: Siluvia Last Modified: 2025-08-06

El filtrado de datos en una Tabla Dinámica normalmente se realiza seleccionando elementos de una lista desplegable. Sin embargo, puede haber situaciones en las que quieras que la Tabla Dinámica filtre dinámicamente según el valor de una celda específica. Este tutorial proporciona una solución VBA sencilla para automatizar este proceso, facilitando la gestión y el análisis eficiente de tus datos.

A screenshot showing a Pivot Table with a drop-down filter in Excel

Filtrar Tabla Dinámica basada en un valor de celda específico con código VBA


Filtrar Tabla Dinámica basada en un valor de celda específico con código VBA

El siguiente código VBA puede ayudarte a filtrar una Tabla Dinámica dinámicamente basada en un valor de celda específico en Excel. Por favor, sigue los siguientes pasos.

1. Ingresa un valor en una celda con antelación (aquí selecciono la celda H6) sobre el cual filtrarás la Tabla Dinámica.

2. Abre la hoja de trabajo que contiene la Tabla Dinámica que deseas filtrar por el valor de una celda. Luego haz clic derecho en la pestaña de la hoja y selecciona Ver Código desde el menú contextual. Ver captura de pantalla:

A screenshot showing the View Code option for a worksheet in Excel

3. En la ventana abierta de Microsoft Visual Basic para Aplicaciones, copia el siguiente código VBA en la ventana de Código.

Código VBA: Filtrar Tabla Dinámica basada en el valor de una celda

Private Sub Worksheet_Change(ByVal Target As Range)
'Update by Extendoffice 20180702
    Dim xPTable As PivotTable
    Dim xPFile As PivotField
    Dim xStr As String
    On Error Resume Next
    If Intersect(Target, Range("H6:H7")) Is Nothing Then Exit Sub
    Application.ScreenUpdating = False
    Set xPTable = Worksheets("Sheet1").PivotTables("PivotTable2")
    Set xPFile = xPTable.PivotFields("Category")
    xStr = Target.Text
    xPFile.ClearAllFilters
    xPFile.CurrentPage = xStr
    Application.ScreenUpdating = True
End Sub

Notas: En el código,

1) “Hoja1” es el nombre de la hoja de trabajo.
2) “TablaDinámica2” es el nombre de la Tabla Dinámica.
3) El campo de filtrado en la tabla dinámica se llama "Categoría".
4) El valor que quieres usar para filtrar la tabla dinámica está colocado en la celda H6.
Puedes cambiar los valores de las variables anteriores según sea necesario.

4. Presiona las teclas Alt + Q para cerrar la ventana de Microsoft Visual Basic para Aplicaciones.

La Tabla Dinámica ahora filtrará dinámicamente basándose en el valor de la celda H6, como se muestra en la siguiente captura de pantalla:

A screenshot showing a Pivot Table filtered based on a specific cell value in Excel

Puedes actualizar el valor de la celda para aplicar un filtro diferente según sea necesario.

A screenshot showing the result of changing the filter cell value for the Pivot Table in Excel

Nota: Los valores que escribas en la celda H6 deben coincidir exactamente con los valores en la lista desplegable Categoría de la Tabla Dinámica.


Artículos relacionados:

Las mejores herramientas de productividad para Office

🤖 Asistente de IA de Kutools: Revoluciona el análisis de datos basado 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 | Redondear...
Super BUSCARV: Búsqueda con múltiples criterios | Búsqueda de múltiples valores | Búsqueda en varias hojas | Coincidencia difusa....
Lista desplegable avanzada: Crea rápidamente listas desplegables | Lista desplegable dependiente | Lista desplegable con selección múltiple....
Administrador de columnas: Agregar un número específico de columnas | Mover columnas | Cambiar la visibilidad de columnas ocultas | Comparar rangos y columnas...
Funciones destacadas: Cuadrícula de enfoque | Vista de diseño | Barra de fórmulas mejorada | Administrador de libros y hojas de cálculo | Biblioteca de AutoTexto | Selector de fechas | Combinar Datos | Encriptar/Descifrar celdas | Enviar correo electrónico por lista | Super Filtro | Filtro especial (filtro negrita/cursiva/tachado...)...
Top15 conjuntos de herramientas:12 herramientas de texto (Agregar texto, Eliminar caracteres, ...) | Más de50 tipos de gráficos (Diagrama de Gantt, ...) | Más de40 fórmulas prácticas (Calcular edad basada en la fecha de nacimiento, ...) |19 herramientas de inserción (Insertar código QR, Insertar imagen desde ruta, ...) |12 herramientas de conversión (Convertir a palabras, Conversión de moneda, ...) |7 herramientas de combinar y dividir (Combinar filas avanzado, Dividir celdas, ...) | ... y mucho más
Utiliza Kutools en tu idioma preferido: ¡compatible con Inglés, Español, Alemán, Francés, Chino y más de40 idiomas adicionales!

Impulsa al máximo tu dominio de Excel con Kutools para Excel y experimenta una eficiencia sin precedentes. Kutools para Excel ofrece más de300 funciones avanzadas para potenciar la productividad y ahorrar tiempo.Haz clic aquí para obtener la función que más necesitas...


Office Tab aporta una interfaz de pestañas a Office y hace tu trabajo mucho más sencillo

  • 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 vez de en nuevas ventanas.
  • ¡Aumenta tu productividad hasta un50% y reduce cientos de clics de ratón cada día!