¿Cómo filtrar un campo en una tabla dinámica usando VBA?

Para filtrar un campo en una tabla dinámica utilizando VBA en Excel, debes acceder al objeto de la tabla dinámica y aplicar el filtro al campo deseado. Aquí te dejo un ejemplo básico de cómo hacerlo:

Supongamos que tienes una tabla dinámica en tu hoja de Excel y deseas filtrar un campo llamado «Categoría» para mostrar solo los elementos que coincidan con «Electrónica». A continuación, se muestra un ejemplo de cómo podrías lograrlo con VBA:

Sub FiltrarCampoEnTablaDinamica()
    Dim ws As Worksheet
    Dim pt As PivotTable
    Dim pf As PivotField
    Dim pi As PivotItem

    ' Establecer la hoja de trabajo donde se encuentra la tabla dinámica
    Set ws = ThisWorkbook.Sheets("Hoja1")

    ' Asegúrate de usar el nombre o el índice correcto de la tabla dinámica
    Set pt = ws.PivotTables("TablaDinamica1")

    ' Establecer el campo a filtrar
    Set pf = pt.PivotFields("Categoría")

    ' Limpiar todos los filtros existentes
    pf.ClearAllFilters

    ' Iterar a través de los elementos del campo y aplicar el filtro
    For Each pi In pf.PivotItems
        If pi.Name = "Electrónica" Then
            pi.Visible = True
        Else
            pi.Visible = False
        End If
    Next pi
End Sub

Notas Importantes:

  • Nombre del objeto: Asegúrate de que el nombre de la hoja («Hoja1») y el nombre de la tabla dinámica («TablaDinamica1») sean correctos.
  • Filtro Flexible: Puedes modificar `»Electrónica»` por cualquier otro valor que quieras filtrar.
  • Visibilidad de Elementos: El método `.Visible` se utiliza para mostrar u ocultar elementos específicos de un campo de la tabla dinámica.
  • Optimización de Filtros: Si trabajas con grandes cantidades de datos, considera optimizar el uso de `.Visible` para mejorar el rendimiento.

Este script básico te servirá para empezar a automatizar el filtrado en tablas dinámicas usando VBA. Ajusta los nombres de campos y elementos según tus necesidades específicas.

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