
週末の日付を変更するスライサーによって制御される 3 つのピボット チャートがあります。チャートのプライマリ軸には「インプレッション」があり、セカンダリ軸には「クリック」があります。
私が望むのは、スライサーが変更されたときにセカンダリ軸のスケールが自動的に調整され、常にプライマリ軸の 2% に等しくなるようにすることです。こうすることで、セカンダリ ラインがプライマリ ラインより上にあるときに、目標を達成したことがわかります。
これを実現する方法について何かアイデアをお持ちの方はいらっしゃいますか?
答え1
VBAとワークシート変更関数を使用して問題を解決しました
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