programing

Excel(2007)에서 차트가 업데이트되지 않음

newstyles 2023. 6. 8. 19:26

Excel(2007)에서 차트가 업데이트되지 않음

계산된 값이 포함된 셀에서 데이터 시리즈를 가져오는 차트(클러스터된 열)가 있는 Excel 문서(2007)가 있습니다.

계산된 값은 직접 변경되지 않지만 시트의 다른 셀이 변경된 결과로만 변경됩니다.

시트의 다른 셀을 변경하면 데이터 시리즈 셀이 다시 계산되고 새 값이 표시되지만 이 데이터 시리즈를 기반으로 하는 차트는 자동으로 업데이트를 거부합니다.

저장/닫거나 설정 중 하나(예: x/y 축 반전 후 다시 놓기)를 전환하거나 데이터 시리즈를 다시 선택하여 차트를 업데이트할 수 있습니다.

온라인에서 찾은 모든 솔루션이 작동하지 않음

  • 예, 계산이 자동으로 설정되어 있습니다.
  • Ctrl+Alt+F9는 차트를 제외한 모든 것을 정상적으로 업데이트합니다.
  • 차트를 여러 번 재생성했고 다른 컴퓨터에서 재생성했습니다.
  • 다음과 같은 VBA 스크립트를 사용해 보았습니다.

    Application.Calculate
    Application.CalculateFull
    Application.CalculateFullRebuild
    ActiveWorkbook.RefreshAll
    DoEvents

차트를 업데이트하거나 새로 고치지 않음

데이터 시리즈 위에 계산 대신 실제 숫자를 입력하면 차트가 업데이트됩니다. 마치 Excel이 계산의 변경 사항을 인식하지 않으려는 것 같습니다.

이전에 이 문제를 경험했거나 문제를 해결하기 위해 무엇을 해야 하는지 아는 사람이 있습니까?감사해요.

차트를 지속적으로 업데이트할 수 있는 유일한 방법입니다.그러면 문제의 근본 원인인 직렬 데이터가 차트에 캐시됩니다.차트가 시리즈를 재평가하도록 강제함으로써 캐시를 삭제합니다.

' Force the charts to update
Set sht = ActiveSheet
For Each co In sht.ChartObjects
    co.Activate
    For Each sc In ActiveChart.SeriesCollection
        sc.Select
        temp = sc.Formula
        sc.Formula = "=SERIES(,,1,1)"
        sc.Formula = temp
    Next sc
Next co

왜 그런지는 모르겠지만 차트를 강제로 업데이트할 수 있는 유일한 방법은 차트 정의 자체를 변경하는 것입니다. 이는 다음과 같이 VBA를 통해 쉽게 수행할 수 있습니다.

Dim C As ChartObject: Set C = Me.ChartObjects("chart name")
C.Chart.ChartTitle.Text = C.Chart.ChartTitle.Text + "1"

문제의 진상을 규명하는 더 나은 답이 있을 수 있지만, 저는 이것이 도움이 될 것이라고 생각했습니다.시트 작업을 통해 차트의 일부(또는 전체)에 대해 Ctrl-X, Ctrl-V를 빠르게 수행하여 차트를 강제로 업데이트합니다.

다음을 통해 1000개 이상의 그래프를 생성하는 동안 이 문제가 발생했습니다.VBA그래프를 생성하고 그래프 시리즈에 범위를 할당했습니다.그러나 시트가 다시 계산할 때 데이터 범위가 값을 변경할 때 그래프가 업데이트되지 않습니다.

솔루션 --> For... 전에 WrapText를 해제했습니다.Next Loop은 그래프를 생성한 다음 루프 후 다시 켭니다.

Workbooks(x).Worksheets(x).Cells.WrapText=False 

그리고 그 후...

Workbooks(x).Worksheets(x).Cells.WrapText=True

이 솔루션은 1000개 이상의 그래프를 한 번에 업데이트하므로 모든 그래프를 반복하거나 개별적으로 변경할 필요가 없습니다.

또한, 왜 이것이 작동하는지 잘 모르겠습니다. WrapText가 데이터 범위의 한 속성을 변경하면 그래프가 업데이트됩니다. 이에 대한 설명서는 없지만요.

저는 간단한 파이 차트에서도 같은 문제를 겪었습니다.

제가 시도한 매크로 중 어떤 것도 작동하지 않았습니다.작하지않에서 된 것이 .cut,pasting,relocating도표를 그리다

찾은 해결 방법은 차트 텍스트를 편집하고 레이블을 제거한 다음 레이블을 다시 선택하는 것이었습니다.그들이 다시 나타나면,

이것은 제 엑셀 작업을 심각하게 방해하는 터무니없는 버그입니다.

게시된 해결 방법을 바탕으로 다음과 같은 조치를 취했습니다.

업데이트할 그래프 클릭 - CTRL-X를 선택하고 그래프를 잘라내어 붙여넣으려면 CTRL-V를 선택합니다.강제로 업데이트됩니다.

이것은 저에게 매우 효과적입니다. 모든 차트에서 축을 뒤집은 다음 다시 뒤집습니다. 그러면 축은 전혀 변하지 않고 새로 고쳐집니다.

'Refresh all charts
For Each mysheet In ActiveWorkbook.Sheets
    mysheet.Activate
    For Each mychart In ActiveSheet.ChartObjects
        mychart.Activate
        ActiveChart.PlotArea.Select
        ActiveChart.PlotBy = xlRows
        ActiveChart.PlotBy = xlColumns
        ActiveChart.PlotBy = xlRows
    Next
Next

이것은 알려진 Excel 버그입니다...

은 가장좋 방법은입니다.Columns.AutoFit트릭:

Sub Update_Charts()
    Application.ScreenUpdating = False
    Temp = ActiveCell.ColumnWidth
    ActiveCell.Columns.AutoFit
    ActiveCell.ColumnWidth = Temp
    Application.ScreenUpdating = True
End Sub

차트를 새로 고치는 데 또 다른 문제가 있습니다.차트를 자동으로 생성할 때 일부 차트가 표시되고 시트의 텍스트가 캐시됩니다.생성된 차트를 새로 고치는 문제가 발생했습니다.확대하거나 축소할 때, 저는 기대한 결과를 얻을 수 있습니다.그래서 누군가 관심이 있다면 여기에 솔루션을 게시합니다.프로그래밍 방식으로 차트를 생성한 후 다음을 추가했습니다.

ActiveWindow.Zoom = ActiveWindow.Zoom + 1
ActiveWindow.Zoom = ActiveWindow.Zoom - 1

좋아요, 해결책이 있어요, 정말로..

차트를 공급하는 일부 데이터 열을 숨기고 차트의 "데이터 원본 선택" 메시지 상자에서 "행과 열에 데이터 숨기기 표시"를 선택한 직후 차트가 처음 업데이트되지 않는 문제가 발생했습니다.

다시 "데이터 원본 선택" 메시지 상자에 들어가 차트가 새로 고쳐지는 "행과 열에 숨겨진 데이터 표시"를 선택 취소/재확인하면 확인할 수 있었습니다.

프로그램적으로 버튼을 연결한 매크로에 다음을 삽입하면 알려진 버그를 해결할 수 있을 정도로 빠르게 차트를 새로 고칩니다.이 코드는 워크시트당 하나의 차트를 가정하지만 필요한 경우 차트 1에서 N에 대한 다른 문을 추가할 수 있습니다.

Sub RefreshCharts()

    Application.ScreenUpdating = False

For I = 1 To ActiveWorkbook.Worksheets.Count

Worksheets(I).Activate

    ActiveSheet.ChartObjects("Chart 1").Activate

    ActiveChart.PlotVisibleOnly = True

    ActiveChart.PlotVisibleOnly = False

Next I

    Application.ScreenUpdating = True

End Sub

저도 같은 문제에 직면했습니다.이 문제는 시트의 계산된 공식 수 제한으로 인해 발생합니다.두 가지 방법으로 해결할 수 있습니다.

수동 강제 재계산:

Press SHEFT + F9

강제로 재계산할 매크로: 데이터를 변경하는 함수의 끝에 아래 코드를 추가합니다.

Activesheet.Calculate

는 그것의 해결책을 찾았습니다: 엑셀 옵션에서 아래와 같이 계산 옵션을 변경하세요.엑셀에서 과중한 작업 후 수동으로 변경되는 경우가 있습니다.

자동 계산

데이터 VBA를. 차트 데이터 범위의 일부 요소에TODAY()-TODAY()+1.

계산했음에도 , 이것없범재위계되었불에도음구, 이있는특성고변동의 특성TODAY()어떻게든 차트 재호출을 트리거하는 추가 부스트를 제공합니다.

이 문제는 말도 안 돼요!2010년에는 아무도 저에게 적합한 솔루션이 없었지만, 저는 tpascale의 솔루션을 기반으로 했습니다.

Dim C As ChartObject
Set C = ActiveSheet.ChartObjects("CTR_Chart")
C.Chart.SetSourceData Source:=Range( _
    "KeywordBreakdown!$A$8:$A$12,KeywordBreakdown!$E$8:$E$12")

소스 데이터 범위를 재정의하기만 하면 됩니다.명명된 범위라면 상당히 깨끗할 수 있습니다.이에 대한 가장 좋은 해결책은 차트가 새로 고쳐질 때까지 다른 차트 속성을 계속 수정하는 것입니다.

이 문제가 발생하여 두 개의 Excel 응용 프로그램이 동시에 실행되어 발생한 것을 발견했습니다.모든 것을 닫고 파일만 열면 차트처럼 동적이어야 하는 위치에 문제가 있었습니다.이게 도움이 될 수도 있어요

이것은 저에게 효과가 있었습니다. 활성 워크시트에서 차트를 잘라내고 다시 붙여넣습니다.저는 이것을 Jason의 코드와 빠른 Google 검색에서 찾은 블로그 게시물을 기반으로 했습니다.

Sub RepasteCharts()

Dim StrTemp As String
Dim IntTempTop As Integer
Dim IntTempLeft As Integer


Set sht = ActiveSheet

For Each co In sht.ChartObjects
    'Activate the chart
    co.Activate

    'Grab current position on worksheet
    IntTempTop = ActiveChart.Parent.Top
    IntTempLeft = ActiveChart.Parent.Left

    'Cut and paste
    ActiveChart.Parent.Cut
    ActiveSheet.Paste

    'Reposition to original position
    ActiveChart.Parent.Top = IntTempTop
    ActiveChart.Parent.Left = IntTempLeft
Next co


End Sub

Excel 2013이 .Chart.Refreh방법(https://msdn.microsoft.com/de-de/library/office/ff198180.aspx) 은 나에게 효과가 있었습니다.

Dim cht As ChartObject
For Each cht In ThisWorkbook.ActiveSheet.ChartObjects
    cht.Chart.Refresh
Next cht    

한나절을 이 일에 소비했습니다.

차트의 데이터인 값을 변경하는 매크로가 있습니다.Excel 2003에서는 모든 것이 정상적으로 작동했지만 Excel 2007에서는 두 열의 데이터 값을 수동으로 변경하면 재호출이 발생했지만 차트와 데이터의 연결이 모두 끊기는 것으로 보입니다.

데이터를 변경하기 전에 활성화된 시트의 모든 차트를 보이지 않게 만든 다음 다시 표시하고 적절한 측정을 위해 차트를 새로 고치는 것이 해결책이었습니다. (이 문제가 있는 차트만 업데이트되는 것 같습니다.)

이 작업은 저에게 적합하며 차트 개체뿐만 아니라 차트와 관련된 유사한 문제도 처리합니다.새로 고침이 필요하지 않을 수 있습니다. 더 많은 테스트가 필요합니다.

Dim chrt As Chart
Dim chrtVis As XlSheetVisibility
Dim sht As Worksheet
Dim bChartVisible() As Boolean
Dim iCount As Long

Dim co As ChartObject

On Error Resume Next

Set chrt = ActiveChart

If Not chrt Is Nothing Then
        chrtVis = chrt.Visible
        chrt.Visible = xlSheetHidden
        End If

Set sht = ActiveSheet

If Not sht Is Nothing Then
        ReDim bChartVisible(1 To sht.ChartObjects.Count) As Boolean
        iCount = 1
        For Each co In sht.ChartObjects
            bChartVisible(iCount) = co.Visible
            co.Visible = False
            iCount = iCount + 1
            Next co
        End If

데이터를 변경하는 매크로 작업 수행

If Not sht Is Nothing Then
        iCount = 1
        For Each co In sht.ChartObjects
            co.Visible = bChartVisible(iCount)
            co.Chart.Refresh
            iCount = iCount + 1
        Next co
        End If

If Not chrt Is Nothing Then
        chrt.Visible = chrtVis 
        chrt.Refresh
        If chrt.Visible Then
            chrt.Select
            End If
        End If

On Error GoTo 0

저는 포스터와 같은 이슈가 있었습니다.기본적으로 저는 대시보드를 실행하고 있으며, UDF의 반환 값으로 채워지는 명명된 범위가 많이 있습니다.대시보드에는 이러한 명명된 범위를 포함하는 셀에 데이터 시리즈가 연결된 원형 차트가 있습니다(데이터 시리즈 대상 셀이 명명된 범위를 우회하여 UDF를 직접 포함하는 경우에도 문제가 발생합니다).

예를 들어 대시보드의 기준이 될 날짜 범위와 명명된 범위 및 UDF가 강제로 계산되는 셀 값을 변경합니다.그러나 원형 차트는 업데이트되지 않습니다. 어떤 이유에서인지 다른 유형의 차트가 업데이트됩니다.참고로, 이것들은 차트 시트가 아니라 차트 객체입니다.어쨌든, 해결책에 대해 간단히 말씀드리겠습니다.

차트 제목이나 다른 측면을 눈에 띄게 변경하고 싶지 않았습니다. 어쨌든 차트가 지속적으로 업데이트되지 않는다는 것을 알게 되었습니다.때때로 처음 계산을 트리거할 때 파이가 업데이트되지만 이후 계산에서는 파이가 업데이트되지 않습니다.하지만 코드를 변경할 때마다 대시보드가 작동한다는 것을 알게 되었습니다.따라서:

솔루션:

With ActiveWorkbook.VBProject.VBComponents("ThisWorkbook").CodeModule

     .AddFromString "'test"
     .DeleteLines 1

End With

워크북 모듈을 사용하는 경우(이 경우에는 사용하지 않았습니다), 새 모듈을 만들고 대신 참조하십시오.

지난 주에 시트에 계산을 좀 더 추가했을 때 저도 같은 문제에 직면했습니다.그 후 라디오 버튼을 사용하여 그래프에 표시할 데이터를 선택하면 그래프가 더 이상 업데이트되지 않습니다.

제가 지금까지 찾을 수 있었던 가장 좋은 설명은 다음과 같습니다. http://support.microsoft.com/kb/243495

제가 올바르게 이해했다면, 파일에 다른 셀을 참조로 포함하는 공식이 65536개 이상 있으면 Excel이 계산을 최적화하기 시작하고 그래프가 더 이상 올바르게 업데이트되지 않는 경우도 있습니다.

VBA 매크로를 사용하지 않고 이 문제를 해결할 수 있는 방법이 있다면 기쁘게 생각합니다(VBA 매크로 없이 SharePoint를 통해 파일을 공유해야 하기 때문에 해당 파일을 사용할 수 없습니다).

매크로를 사용하여 차트의 데이터 테이블에 열을 삽입/제거하는 것이 효과적이었습니다.이렇게 하면 차트가 데이터 선택 항목을 업데이트합니다.

저는 이것이 그것을 고치는 가장 빠른 방법이라는 것을 알았습니다.

튜토리얼을 진행하는 동안 저도 같은 문제를 겪었습니다(단계를 따르다가 기대한 결과를 얻지 못할 때 매우 답답합니다).

에서 범위를 .A3:A10 "비선택 범위"를 선택합니다.E3:E10제가 그랬어요.차트 받았어요.

그런 다음 값을 변경하고 백분율 변화를 보고 파이 차트를 보고 업데이트를 보라고 했습니다.

업데이트가 안 됐어요.

파이 차트의 데이터 소스를 살펴봤는데 범위가 이상했습니다.그것은 있었습니다.A3:A10는 제대로, range는 범는적표었지만 되기게절하위▁range▁not,만지▁the.E10셀 참조는 여러 번 반복되었고, 그것은 모든 것을 가지고 있었습니다.E무작위 순서로 나열된 세포그것은 처럼 보였습니다.

=SERIES(,(Revenue!$A$3:$A$10,Revenue!$E$3,Revenue!$E$10,Revenue!$E$10,Revenue!$E$10,Revenue!$E$10,Revenue!$E$10,Revenue!$E$9,Revenue!$E$8,Revenue!$E$7,Revenue!$E$6,Revenue!$E$5,Revenue!$E$4),1

데이터 소스를 다음과 같이 변경했습니다.

=SERIES(,Revenue!$A$3:$A$10,Revenue!$E$3:$E$10,1)

문제는 해결됐습니다.때로는 코드를 정리해야 하기 때문에 계산 프로세서가 더 적게 정렬할 수 있습니다.

저도 이 문제로 어려움을 겪었습니다.커스텀 함수가 재계산된 후 차트 데이터가 있는 시트를 재계산하여 최종적으로 해결하였습니다.그래서, 시트 1에서, 저는 다음을 포함하는 세포를 가지고 있습니다.

=ComputeScore()

VBA 모듈에서 이 기능은 스프레드시트 업데이트 후 ComputeScore()가 실행되도록 Volatile로 정의됩니다.

Function ComputeScore() As Double
    Application.Volatile True
    . . . do some stuff to get a total . . .
    ComputeScore = theTotal
End Function

그런 다음 시트 1의 VBA에서 다음과 같이 처리합니다.

Private Sub Worksheet_Calculate()
    'Recalculate the charts data page to force the charts to update.
    'Otherwise, they don't update until the next change to a sheet, and so
    'chart data is always one update behind the user's data changes.
    Application.ScreenUpdating = False
    Application.EnableEvents = False
    Application.Calculation = xlManual
    Sheets("Charts Data").Calculate
    Application.Calculation = xlAutomatic
    Application.EnableEvents = True
    Application.ScreenUpdating = True
End Sub

따라서 시트 1의 사용자 정의 함수 셀을 참조하는 차트 데이터라는 시트는 계산 점수() 함수가 시트 1의 셀을 업데이트한 후 재계산을 수행합니다. 이는 계산 점수()가 계산 점수() recc 이후에 Workscheet_Calculate()가 실행되기 때문입니다.차트 데이터를 추가로 계산하면 차트가 나중에 업데이트되거나 아예 업데이트되지 않습니다.EnableEvents(이벤트 활성화) 및 xlManual(xlManual) 설정을 사용하면 무한 재호출 루프 및 기타 이벤트 문제가 발생하지 않습니다.

이것은 매우 기본적으로 보일 수 있지만 저는 차트가 있는 스프레드시트에서 (F9를 눌러) 수동 계산을 시도했고 작동했습니다!이 VBA 코드는 다음과 같습니다.

계산한다.

;)

제시된 솔루션을 거의 모두 사용해 보았지만 아무 것도 작동하지 않았기 때문에 여기에 2센트를 추가하겠습니다.다른 누군가에게 도움이 되길 바랍니다.

이 문제에 대한 공감대는 그래프가 그래야 할 때 하지 않기 때문에 어떻게든 엑셀을 강제로 다시 그려야 한다는 것입니다.

제 해결책은 X축 데이터를 삭제하고 원하는 데이터로 변경하기 전에 아무것도 없는 상태로 교체하는 것이었습니다.여기 내 코드:

With wsReport
    .Activate
    .ChartObjects(1).Activate
    ActiveChart.FullSeriesCollection(1).XValues = "=" 'Kill data here
        .Range("A1").Select 'Forwhatever reason a Select statement was needed
        .ChartObjects(1).Activate
        ActiveChart.FullSeriesCollection(1).XValues = "=tblRef[Secs]"
End With
End Sub

이 문제에 대한 저의 의견은 -- 저는 Access 2010 보고서의 차트와 비슷한 문제를 겪고 있었습니다.저는 동적으로 쿼리 정의를 작성하여 보고서의 행 소스로 설정한 다음 각 시리즈를 순환하고 각 시리즈의 속성을 설정하려고 했습니다.결국 제가 해야 할 일은 쿼리 정의 생성과 속성 설정을 별도의 하위 항목으로 나누는 것이었습니다.추가로, 나는.

SendKeys ("{DOWN}")
SendKeys ("{UP}")

두 잠수함의 각각의 밑바닥에

원본 데이터의 값을 변경할 때 차트가 업데이트되지 않았습니다.Excel의 모든 인스턴스를 닫고 다시 시작하면 문제가 사라집니다.

저도 비슷한 문제가 있었습니다. 차트가 업데이트되지 않았습니다.저는 이 실에 있는 거의 모든 것을 시도했지만 실패했습니다.저는 마침내 제가 복사하고 붙여넣던 차트들이 소스 데이터와 연결되어 있다는 것을 깨달았습니다. 그리고 그것이 바로 그것들이 모두 같은 결과를 보여주는 이유입니다.

다른 모든 동작을 수행하기 전에 사진을 복사하고 붙여넣는지 확인합니다.

저도 방금 같은 문제가 있었고, 잘못된 데이터(숫자 대신 문자)를 입력해야 줄이 표시된다는 것을 발견했습니다.이로 인해 라인이 나타나지만 유효한 데이터로 다시 변경하면 라인이 다시 사라집니다.

제가 발견한 것은 라인을 두 번 클릭하면(잘못된 데이터와 함께 표시됨), 어떤 이유로 2차 축에 있다는 것을 보여줍니다.그것을 주축으로 바꾼 것이 제 문제를 해결했습니다.

저는 오늘 많은 수식과 여러 데이터베이스 연결이 있는 2010년 파일에 대해 비슷한 문제를 겪고 있었습니다.참조를 업데이트하지 않은 차트 축은 이 체인의 다른 열과 유사하게 숨겨진 열로 범위를 지정하고 레이블에는 동적 데이터의 월과 연도 "MM-YY"가 표시됩니다.코드 없이 해결하고 싶은 VBA 옵션을 제외한 모든 솔루션을 시도했습니다.

날짜(축 레이블)를 =TEXT(A10,MMM-YY")와 같은 TEXT 공식으로 캡슐화하여 문제를 해결할 수 있었습니다.그리고 가치관이 바뀌면 모든 것이 즉시 업데이트됩니다.다시 한번 행복한 날들!

위의 다른 기여자 문제를 읽고 차트가 구체적으로 DATE 데이터 유형에 문제가 있다고 생각하기 시작했고, 따라서 값을 TEXT 기능으로 텍스트로 변환하면 문제가 해결되었습니다.이것이 당신에게도 도움이 되기를 바랍니다.필요에 따라 큰따옴표(TEXT 함수의 두 번째 인수) 내에서 형식을 변경하기만 하면 됩니다.

차트가 있는 위치에서 시트를 활성화하기만 하면 됩니다.

Sheets(1).Activate

그러면 당신의 문제는 사라집니다.

저도 같은 문제가 있었고 방금 시트를 활성화하기 전까지는 문제의 당신이 언급한 어떤 것도 저에게 효과가 없었습니다.수락된 답변은 저에게도 통하지 않았습니다.

또는 다음을 수행할 수 있습니다.

ActiveCell.Activate

저는 매크로가 모든 시리즈의 x축을 업데이트하지 않고 첫 번째 시리즈만 업데이트했습니다.제가 찾은 해결책은 모든 시리즈에 대해 x축을 업데이트한 후 새로 고친 것입니다(또한 x축의 형식을 변경할 수 있는 코드가 있었지만 그것이 문제가 되지 않았다고 생각합니다).

ActiveSheet.ChartObjects("Diagram 7").Activate
ActiveChart.Axes(xlCategory).Select
ActiveChart.SeriesCollection(1).XValues = "={""""}"
ActiveChart.SeriesCollection(1).XValues = "=YYY!$BQ$85:$BQ$8844"
ActiveChart.SeriesCollection(2).XValues = "=YYY!$BQ$85:$BQ$8844"
ActiveChart.SeriesCollection(3).XValues = "=YYY!$BQ$85:$BQ$8844"
ActiveChart.SeriesCollection(4).XValues = "=YYY!$BQ$85:$BQ$8844"
ActiveChart.SeriesCollection(5).XValues = "=YYY!$BQ$85:$BQ$8844"
ActiveChart.SeriesCollection(6).XValues = "=YYY!$BQ$85:$BQ$8844"
ActiveChart.SeriesCollection(7).XValues = "=YYY!$BQ$85:$BQ$8844"
ActiveChart.SeriesCollection(8).XValues = "=YYY!$BQ$85:$BQ$8844"

전체 매크로;

Sub TEST()
'
' TEST Makro
'
ActiveSheet.ChartObjects("Diagram 7").Activate
ActiveChart.Axes(xlCategory).Select
Selection.TickLabels.NumberFormat = "@"
ActiveSheet.ChartObjects("Diagram 7").Activate
ActiveChart.SeriesCollection(1).XValues = "={""""}"
ActiveChart.SeriesCollection(1).XValues = "=YYY!$BQ$85:$BQ$8844"
ActiveChart.SeriesCollection(2).XValues = "=YYY!$BQ$85:$BQ$8844"
ActiveChart.SeriesCollection(3).XValues = "=YYY!$BQ$85:$BQ$8844"
ActiveChart.SeriesCollection(4).XValues = "=YYY!$BQ$85:$BQ$8844"
ActiveChart.SeriesCollection(5).XValues = "=YYY!$BQ$85:$BQ$8844"
ActiveChart.SeriesCollection(6).XValues = "=YYY!$BQ$85:$BQ$8844"
ActiveChart.SeriesCollection(7).XValues = "=YYY!$BQ$85:$BQ$8844"
ActiveChart.SeriesCollection(8).XValues = "=YYY!$BQ$85:$BQ$8844"
ActiveChart.Axes(xlCategory).Select
ActiveChart.Axes(xlCategory).TickMarkSpacing = 730
ActiveChart.Axes(xlCategory).TickLabelSpacing = 730
End Sub

언급URL : https://stackoverflow.com/questions/4902703/chart-wont-update-in-excel-2007