¿Cómo aplicar un filtro a una tabla dinámica con VBA?

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.

Conoce nuestra tienda

Ver más productos

Mejora tu nivel y logra tus objetivo

Excel

Excel cursos

Access

cursos de Access

Power BI

cursos power BI

Ayúdanos a hacer crecer el proyecto

Deja un comentario