¿Cómo establecer filtros predeterminados para una tabla dinámica con VBA?

Para establecer filtros predeterminados en una tabla dinámica utilizando VBA, debes utilizar el objeto `PivotTable` y sus métodos asociados. A continuación te muestro un ejemplo de cómo puedes hacer esto:

Supongamos que tienes una tabla dinámica y deseas establecer filtros en uno de sus campos. Aquí tienes un código VBA básico que ilustra cómo hacerlo:

Sub EstablecerFiltrosPredeterminados()
    Dim ws As Worksheet
    Dim pt As PivotTable
    Dim pf As PivotField
    Dim pi As PivotItem
    
    ' Cambia "Hoja1" por el nombre de la hoja que contiene la tabla dinámica
    Set ws = ThisWorkbook.Sheets("Hoja1")
    
    ' Cambia "TablaDinámica1" por el nombre de tu tabla dinámica
    Set pt = ws.PivotTables("TablaDinámica1")
    
    ' Cambia "NombreDelCampo" por el nombre del campo que deseas filtrar
    Set pf = pt.PivotFields("NombreDelCampo")
    
    ' Limpia cualquier filtro existente
    pf.ClearAllFilters
    
    ' Establece los filtros predeterminados
    ' Solo se mostrarán los elementos especificados
    For Each pi In pf.PivotItems
        ' Cambia "Elemento1", "Elemento2", etc., por los elementos que deseas mostrar
        If pi.Name = "Elemento1" Or pi.Name = "Elemento2" Then
            pi.Visible = True
        Else
            pi.Visible = False
        End If
    Next pi
End Sub

Puntos Importantes:

  • Hoja y Tabla Dinámica: Cambia `»Hoja1″` y `»TablaDinámica1″` por los nombres específicos de tu hoja de cálculo y tabla dinámica.
  • Nombre del Campo: Cambia `»NombreDelCampo»` por el nombre del campo en el que deseas aplicar los filtros.
  • Elementos a Filtrar: En el bucle `For Each`, reemplaza `»Elemento1″`, `»Elemento2″`, etc., con los nombres de los elementos que desees mostrar en el filtro. Los demás elementos se ocultarán.
  • Seguridad: Asegúrate de que las referencias a la hoja y a la tabla dinámica existen, y de que el nombre del campo es correcto para evitar errores en runtime.

Este script establece filtros predeterminados cada vez que se ejecuta. Puedes integrarlo con eventos del libro de Excel o programarlo para que se ejecute automáticamente en ciertas situaciones, como al abrir el archivo.

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