Contenido
Aplicar un filtro a una tabla dinámica utilizando VBA en Excel es una forma eficaz de automatizar el análisis de datos. Supongamos que ya tienes una tabla dinámica y que deseas aplicar un filtro a uno de sus campos. A continuación, te proporciono un ejemplo paso a paso de cómo hacerlo:
Sub FiltrarTablaDinamica()
Dim ws As Worksheet
Dim pt As PivotTable
Dim pf As PivotField
Dim pi As PivotItem
' Establece la hoja de trabajo donde se encuentra la tabla dinámica
Set ws = ThisWorkbook.Worksheets("NombreDeTuHoja")
' Establece la referencia a la tabla dinámica
Set pt = ws.PivotTables("NombreDeTuTablaDinamica")
' Establece el campo que deseas filtrar
Set pf = pt.PivotFields("NombreDelCampoQueDeseasFiltrar")
' Limpia los filtros existentes
pt.ClearAllFilters
' Activar el filtro para el ítem específico
For Each pi In pf.PivotItems
If pi.Name = "NombreDelElemento" Then
pi.Visible = True
Else
pi.Visible = False
End If
Next pi
End Sub
- Abrir el Editor de VBA:
- Presiona `ALT + F11` para abrir el Editor de VBA.
- Insertar un Módulo:
- En el Editor de VBA, haz clic en `Insertar` > `Módulo` para crear un nuevo módulo.
- Escribir el Código VBA:
- Escribe el siguiente código como ejemplo. Este código asume que tienes una tabla dinámica y deseas filtrar un campo específico.
- Adaptar el Código:
- Sustituye `»NombreDeTuHoja»` por el nombre de la hoja de cálculo que contiene tu tabla dinámica.
- Sustituye `»NombreDeTuTablaDinamica»` por el nombre asignado a tu tabla dinámica.
- Sustituye `»NombreDelCampoQueDeseasFiltrar»` por el nombre del campo que deseas filtrar.
- Sustituye `»NombreDelElemento»` por el nombre del valor específico que deseas mostrar en el filtro.
- Ejecutar el Código:
- Presiona `F5` o selecciona `Ejecutar` desde el menú para ejecutar el macro.
Este script aplica un filtro a un campo específico de la tabla dinámica, mostrando solo los elementos que coinciden con el valor especificado en `»NombreDelElemento»`. Puedes adaptar este código para que se ajusten mejor a tus necesidades, filtrando por múltiples valores o usando criterios más complejos.