VBA:刷新单元格以更新图表轴

时间:2016-09-18 11:07:39

标签: excel vba excel-vba charts

我正在尝试编写可在多个图表上自动更新图表轴的代码。单元格AM5包含=D7,我认为问题是虽然AM5正在更新为正确的值,但图表轴未更新。

如果我选择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

1 个答案:

答案 0 :(得分:0)

Application.CalculateFullRebuild可能会对您有所帮助。请参阅link。在退出方法之前放置它。