¿Cómo vincular múltiples tablas dinámicas a un solo slicer usando VBA?

Para vincular múltiples tablas dinámicas a un solo slicer utilizando VBA en Excel, debes seguir estos pasos:

Sub ConectarSlicer()

    Dim pt As PivotTable
    Dim ws As Worksheet
    Dim slc As SlicerCache

    ' Cambia "NombreDelSlicer" por el nombre del slicer que estás utilizando.
    Set slc = ThisWorkbook.SlicerCaches("NombreDelSlicer")
    
    ' Recorre todas las tablas dinámicas en el libro
    For Each ws In ThisWorkbook.Worksheets
        For Each pt In ws.PivotTables
            ' Asegúrate de que la tabla dinámica está usando el mismo cache que el slicer
            If pt.CacheIndex = slc.WorkbookConnection.Refreshable Then
                On Error Resume Next
                ' Agrega la tabla dinámica al slicer
                slc.PivotTables.AddPivotTable (pt)
                On Error GoTo 0
            End If
        Next pt
    Next ws

    MsgBox "Todas las tablas dinámicas ahora están conectadas al slicer."

End Sub
  • Asegúrate de que las tablas dinámicas están basadas en el mismo origen de datos: Todas las tablas dinámicas que deseas controlar con un solo slicer deben estar vinculadas al mismo modelo de datos o al mismo rango/origen de datos en Excel.
  • Inserta un Slicer: Primero, inserta un slicer en una de las tablas dinámicas. Puedes hacerlo seleccionando la tabla dinámica, y luego en la pestaña Analizar (o Opciones, dependiendo de tu versión de Excel), selecciona Insertar segmentación de datos (Slicer) y elige el campo según el cual deseas filtrar.
  • Usa VBA para conectarlas: Usa un script de VBA para vincular el slicer a todas las tablas dinámicas. Aquí te dejo un ejemplo de cómo hacerlo:
  • Ejecuta el script: Abre el Editor de Visual Basic en Excel (puedes hacerlo presionando `ALT + F11`), luego inserta un nuevo módulo (`Insertar > Módulo`) y pega el código anterior. Asegúrate de reemplazar `»NombreDelSlicer»` con el nombre real de tu slicer.
  • Corre el macro: Vuelve a Excel y ejecuta el macro que acabas de crear (`Alt + F8` para abrir la ventana de macros, selecciona `ConectarSlicer` y ejecuta).

Este procedimiento debería vincular todas las tablas dinámicas que comparten el mismo origen de datos al slicer especificado. Asegúrate de guardar una copia de tu archivo antes de ejecutar macros para evitar cualquier pérdida de datos.

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