Contenido
Para filtrar una tabla dinámica utilizando un slicer a través de VBA en Excel, primero necesitas asegurarte de que ya tienes un slicer conectado a tu tabla dinámica. Aquí te doy un ejemplo de cómo puedes controlar ese slicer mediante VBA:
Supongamos que tienes una tabla dinámica y un slicer conectado a ese campo que deseas filtrar. Este ejemplo asume que el slicer está configurado para filtrar por un campo específico, por ejemplo, «Categoría».
Sub FiltrarConSlicer()
Dim slicerCache As SlicerCache
Dim slicerItem As SlicerItem
Dim nombreSlicer As String
nombreSlicer = "Slicer_Categoría" ' Cambia este nombre al nombre de tu slicer
' Establecer la caché del slicer
Set slicerCache = ThisWorkbook.SlicerCaches(nombreSlicer)
' Desactivar todos los filtros existentes
With slicerCache
For Each slicerItem In .SlicerItems
slicerItem.Selected = False
Next slicerItem
End With
' Activar solo el filtro deseado
With slicerCache
On Error Resume Next
.SlicerItems("Electrónica").Selected = True ' Cambia el valor por el que deseas filtrar
On Error GoTo 0
End With
End Sub
- Identificar Nombres: Asegúrate de conocer el nombre del Slicer y de la tabla dinámica. Puedes encontrar estos nombres en las opciones de Slicer y la lista de campos de la tabla dinámica.
- Código VBA: Usa el siguiente código como referencia para aplicar un filtro:
- Adaptar el Código:
- Cambia `Slicer_Categoría` por el nombre real del slicer en tu libro.
- Cambia `»Electrónica»` por el valor específico por el que deseas filtrar.
- Ejecutar el Código:
- Abre el editor de VBA (ALT + F11), inserta un módulo y pega el código.
- Corre la macro `FiltrarConSlicer` para aplicar el filtro en base al slicer.
Este procedimiento te proporciona un método para automatizar el filtrado de tablas dinámicas mediante el uso de slicers en VBA. Asegúrate de adaptar los nombres específicos y los valores de filtro a tu situación particular.