
Tengo 3 gráficos dinámicos controlados por una segmentación de datos que cambia la fecha de finalización de la semana. En el gráfico tengo "Impresiones" en el eje principal y "Clics" en el eje secundario.
Lo que me gustaría es que la escala del eje Secundario se ajuste automáticamente cuando se cambia la segmentación, de modo que siempre sea igual al 2% del eje Primario. De esta manera, sé que cuando la línea Secundaria está por encima de la línea Primaria hemos alcanzado nuestro objetivo.
¿Alguien tiene alguna idea sobre cómo lograr esto?
Respuesta1
Resolví el problema usando VBA y la función Cambio de hoja de trabajo.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim x As Long
With ActiveSheet.ChartObjects("Chart 1").Chart
ActiveSheet.ChartObjects("Chart 1").Activate
ActiveChart.Axes(xlValue).MaximumScaleIsAuto = True
ActiveChart.Axes(xlValue).MinimumScale = 0
x = ActiveChart.Axes(xlValue).MaximumScale
ActiveChart.Axes(xlValue, xlSecondary).MaximumScale = (x * 0.02)
End With
End Sub