2016-09-18 7 views
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 
+0

だから質問は何ですか?エラーが出ていますか? –

+0

エラーはありませんが、D7の時系列の開始日を変更すると、グラフの軸は更新されません。しかし、F2&Enterを押してAM5(= D7のみを含む)を手動でリフレッシュすると、グラフ軸が更新されます。だから、このF2&Enterプロセスをシミュレートするコードの上に座るためには少しコードが必要です。私はマクロを記録することができますが、私は、VBAのセルをリフレッシュまたは再計算してチャートの軸を更新するプロセスがあると仮定しています。 – DonkeyKong

+0

コードの他の部分に.ScreenUpdating = Falseを設定しましたか?はいの場合は、Trueに設定する必要があります。 –

答えて

0

Application.CalculateFullRebuildお手伝いがあります。 linkを参照してください。メソッドを終了する前に配置します。

関連する問題