0
グラフの軸をいくつかのグラフで自動更新するコードを記述しようとしています。セルAM5には=D7
が含まれていますが、AM5が正しい値に更新されているにもかかわらず、グラフの軸が更新されていないという問題があると思います。VBA:グラフ軸を更新するセルを更新する
AM5を選択し、F2キーを押しながら変更せずにEnterキーを押すと、グラフの軸が更新されるため、値が更新されてもセルAM5を更新する必要があります。
以下のコードの前に適用されるコードAM & ANをリフレッシュする、つまりすべてのセルに対してF2 + Enterキーを押すことをシミュレートするコードを探しています。
グラフの軸を自動更新するコードは次のとおりです。
Private Sub Worksheet_Change(ByVal Target As Range)
' Location1 plots
With Worksheets("Location1_Plots").ChartObjects("ABC48hr").Chart
Select Case Target.Address
Case "$AM$6"
.Axes(xlCategory).MaximumScale = Target.Value
Case "$AM$5"
.Axes(xlCategory).MinimumScale = Target.Value
Case "$AN$6"
.Axes(xlValue).MaximumScale = Target.Value
Case "$AN$5"
.Axes(xlValue).MinimumScale = Target.Value
End Select
End With
With Worksheets("Location_Plots").ChartObjects("ABC5Day").Chart
Select Case Target.Address
Case "$AM$12"
.Axes(xlCategory).MaximumScale = Target.Value
Case "$AM$11"
.Axes(xlCategory).MinimumScale = Target.Value
Case "$AN$12"
.Axes(xlValue).MaximumScale = Target.Value
Case "$AN$11"
.Axes(xlValue).MinimumScale = Target.Value
End Select
End With
End Sub
だから質問は何ですか?エラーが出ていますか? –
エラーはありませんが、D7の時系列の開始日を変更すると、グラフの軸は更新されません。しかし、F2&Enterを押してAM5(= D7のみを含む)を手動でリフレッシュすると、グラフ軸が更新されます。だから、このF2&Enterプロセスをシミュレートするコードの上に座るためには少しコードが必要です。私はマクロを記録することができますが、私は、VBAのセルをリフレッシュまたは再計算してチャートの軸を更新するプロセスがあると仮定しています。 – DonkeyKong
コードの他の部分に.ScreenUpdating = Falseを設定しましたか?はいの場合は、Trueに設定する必要があります。 –