
Tenho 3 gráficos dinâmicos controlados por uma segmentação de dados que altera a data de término da semana. No gráfico tenho “Impressões” no eixo primário e “Cliques” no eixo secundário.
O que eu gostaria é que a escala do eixo Secundário se ajustasse automaticamente quando o slicer for alterado, de forma que seja sempre igual a 2% do eixo Primário. Desta forma, sei que quando a linha Secundária está acima da linha Primária atingimos o nosso alvo.
Alguém tem alguma idéia de como conseguir isso?
Responder1
Resolvi o problema usando VBA e a função Worksheet Change
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