Contenido
Para filtrar una tabla dinámica por un rango de fechas utilizando VBA, puedes seguir estos pasos:
Sub FiltrarTablaDinamicaPorFechas()
Dim pt As PivotTable
Dim pf As PivotField
Dim fechaInicial As Date
Dim fechaFinal As Date
Dim ws As Worksheet
' Especifica la hoja de trabajo y el nombre de la tabla dinámica
Set ws = ThisWorkbook.Sheets("NombreDeTuHoja")
Set pt = ws.PivotTables("NombreDeTuTablaDinamica")
' Ajusta los campos de fechas
Set pf = pt.PivotFields("NombreDelCampoFecha")
' Define el rango de fechas
fechaInicial = DateValue("2023-01-01") ' Cambia a tu fecha inicial
fechaFinal = DateValue("2023-12-31") ' Cambia a tu fecha final
' Limpia los filtros existentes
pf.ClearAllFilters
' Aplica el filtro de fecha
pf.PivotFilters.Add xlDateBetween, Value1:=fechaInicial, Value2:=fechaFinal
' Actualiza la tabla dinámica
pt.RefreshTable
End Sub
- Abre el Editor de VBA: Presiona `ALT + F11` en Excel para abrir el Editor de Visual Basic for Applications.
- Inserta un nuevo Módulo: Ve a `Insertar` > `Módulo` para crear un nuevo módulo donde escribirás tu código VBA.
- Escribe el código para filtrar por rango de fechas: Aquí tienes un ejemplo básico de cómo podría estructurarse el código:
Consideraciones:
- NombreDeTuHoja: Cambia este valor al nombre de la hoja donde se encuentra tu tabla dinámica.
- NombreDeTuTablaDinamica: Cambia este valor al nombre de tu tabla dinámica.
- NombreDelCampoFecha: Cambia este valor al campo de fecha en la tabla dinámica.
- fechaInicial y fechaFinal: Ajusta las fechas a los valores que necesitas para tu filtro.
- Ejecuta el código: Una vez que hayas personalizado el código con los nombres y fechas adecuados, puedes ejecutarlo directamente desde el editor de VBA presionando `F5` o volviendo a Excel y asignando esta macro a un botón o enlace.
Este código realiza el filtrado de las fechas en una tabla dinámica de acuerdo a los criterios especificados. Asegúrate de que tus campos y nombres están correctamente definidos para evitar errores al ejecutarlo.