Я пытаюсь написать код, который будет автоматически обновлять оси диаграммы на нескольких диаграммах. Cell 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, оси диаграммы не обновляются. Однако, когда я вручную обновляю AM5, который содержит только = D7, нажав F2 & Enter, оси диаграммы обновляются. Поэтому мне нужно немного кода, чтобы сидеть над кодом, который у меня уже есть, чтобы имитировать этот процесс F2 & Enter; Я могу записать макрос, но я предполагаю, что есть процесс обновления или пересчета ячеек в VBA, чтобы оси диаграммы обновлялись. – DonkeyKong
Вы установили .ScreenUpdating = False, в другой части кода. Если да, вы можете потребовать установить True. –