2016-09-18 1 views
0

여러 차트에서 차트 축을 자동으로 업데이트하는 코드를 작성하려고합니다. 셀 AM5에는 =D7이 포함되어 있으며 AM5가 올바른 값으로 업데이트 중이지만 차트 축이 업데이트되지 않는다고 생각합니다.VBA : 그래프 축을 업데이트 할 셀 새로 고침

AM5를 선택하고 수정하지 않고 F2 키를 누른 채로 입력하면 차트 축이 업데이트되므로 값이 업데이트 되더라도 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을 참조하십시오. 메소드를 종료하기 전에 배치하십시오.