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。 –