Estoy tratando de averiguar si hay una forma de capturar el evento cuando se cambia un rango de fechas dentro de una segmentación de línea de tiempo.
Lo que estoy tratando de lograr es:
- Necesito capturar el evento de cambio de rango de fechas dentro de la segmentación de la línea de tiempo
- hacer que mis gráficos actualicen los datos cuando se cambie el rango de fechas.
Lo que sucede ahora es que cuando cambio el rango de fechas en mi segmentación de la línea de tiempo, las tablas dinámicas conectadas se actualizan en consecuencia e instantáneamente, pero los gráficos que toman datos de algunos campos de estas tablas dinámicas ( no son gráficos dinámicos ) necesitan una acción de guardar el libro de trabajo antes pueden actualizarse con nuevos datos.
La razón por la que uso gráficos conectados solo a algunas partes de mis tablas dinámicas es que, de esta manera, los gráficos son más personalizables que los gráficos dinámicos.
Gracias de antemano por señalarme en la dirección correcta.
Solución del problema
Suponiendo que no desea cambiar el Cálculo del libro de trabajo a Automático y solo desea actualizar los gráficos, a continuación se muestra el código para básicamente cortar los gráficos y pegarlos en el mismo lugar cada vez que cambia la tabla dinámica.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim myChart As ChartObject
Dim myCharts As ChartObjects
Dim myChartname As String
Dim strAddress As String
Set myCharts = ActiveSheet.ChartObjects
For Each myChart In myCharts
myChartname = myChart.Name
strAddress = myChart.TopLeftCell.Address
ActiveSheet.ChartObjects(myChartname).Cut
ActiveSheet.Paste Destination:=Range(strAddress)
Next
End Sub
No hay comentarios:
Publicar un comentario