Excel 차트에서 데이터를 추출하는 매크로

기술 자료 번역 기술 자료 번역
기술 자료: 300643 - 이 문서가 적용되는 제품 보기.
이 문서의 Microsoft Excel 2000 버전에 대한 내용은 213814를 참조하십시오.
이 문서의 Microsoft Excel 98 및 이전 버전에 대한 내용은 137016을 참조하십시오.
모두 확대 | 모두 축소

이 페이지에서

요약

Microsoft Excel에서는 데이터가 외부 워크시트나 통합 문서에 있는 경우에도 차트에서 데이터를 검색할 수 있습니다. 이 기능은 사용할 수 없는 상태이거나 어떤 식으로든 손상된 다른 파일에서 만들어진 차트나 이러한 파일에 연결된 차트가 있는 경우에 유용합니다. 차트에 연결된 원본 데이터가 손실된 경우에도 Microsoft Visual Basic for Applications 매크로를 사용하여 차트 자체에서 데이터를 검색할 수 있습니다.

추가 정보

Microsoft는 모든 보증(상품, 특정 목적의 적합성에 대한 묵시적인 보증을 포함하며 이에 제한되지 않음)을 배제하며 예를 보여주기 위한 목적으로만 이 프로그래밍 예제를 제공합니다. 본 문서의 내용은 프로시저를 작성하고 디버깅하는 데 사용되는 도구 및 여기서 설명하는 프로그래밍 언어에 익숙한 사용자를 대상으로 합니다. Microsoft 지원 엔지니어는 사용자에게 도움이 되도록 특정 프로시저에 대한 기능을 설명할 수 있지만 사용자의 특정 요구 사항에 맞도록 예제를 수정하여 추가 기능을 제공하거나 프로시저를 구성하지는 않습니다.

다음 예제 매크로에서는 차트의 원본 데이터를 활성 통합 문서에 있는 "ChartData"라는 워크시트의 첫 번째 열과 첫 번째 행에서부터 삽입합니다.
  1. 다음 매크로 코드를 모듈 시트에 입력합니다.
    Sub GetChartValues()
       Dim NumberOfRows As Integer
       Dim X As Object
       Counter = 2
    
       ' Calculate the number of rows of data.
       NumberOfRows = UBound(ActiveChart.SeriesCollection(1).Values)
    
       Worksheets("ChartData").Cells(1, 1) = "X Values"
    
       ' Write x-axis values to worksheet.
       With Worksheets("ChartData")
          .Range(.Cells(2, 1), _
          .Cells(NumberOfRows + 1, 1)) = _
          Application.Transpose(ActiveChart.SeriesCollection(1).XValues)
       End With
    
       ' Loop through all series in the chart and write their values to
       ' the worksheet.
       For Each X In ActiveChart.SeriesCollection
          Worksheets("ChartData").Cells(1, Counter) = X.Name
    
          With Worksheets("ChartData")
             .Range(.Cells(2, Counter), _
             .Cells(NumberOfRows + 1, Counter)) = _
             Application.Transpose(X.Values)
          End With
    
          Counter = Counter + 1
       Next
    
    End Sub
    					
  2. 새 워크시트를 통합 문서에 삽입하고 "ChartData"(인용 부호 제외)로 이름을 바꿉니다.
  3. 원본 데이터 값을 추출할 차트를 선택합니다.

    참고: 차트는 워크시트나 별도의 차트 시트에 포함될 수 있습니다.
  4. GetChartValues 매크로를 실행합니다.

    차트의 데이터가 "ChartData" 워크시트에 삽입됩니다.

복구된 데이터에 차트를 연결하는 단계

차트가 복구된 데이터와 상호 작용하게 하려면 없어지거나 손상된 통합 문서에 대한 연결을 유지하는 대신 새 데이터 시트에 차트를 연결해야 합니다.
  1. 차트를 선택하고 계열을 눌러 손상되었거나 없는 통합 문서에서 차트가 연결되어 있는 시트 이름을 찾습니다. 시트 이름이 수식 입력줄의 계열 수식에 나타납니다.

    참고: 시트 이름 앞에 "[Book1]"과 같이 대괄호로 둘러싸인 통합 문서 이름이 나타나고 셀 참조의 시작을 나타내는 느낌표 "!"(또는 아포스트로피 및 느낌표 "'!")가 표시될 수 있습니다. 시트 이름에는 닫는 대괄호 기호 "]"와 느낌표(또는 아포스트로피 및 느낌표) 사이의 문자만 포함됩니다. 아포스트로피가 시트 이름의 마지막 문자일 수 없으므로 느낌표 바로 앞에 있는 아포스트로피는 제외합니다.
  2. ChartData라는 새 시트의 탭을 두 번 누릅니다.
  3. 1단계의 원래 시트 이름을 강조 표시된 "ChartData" 위에 입력하고 Enter 키를 누릅니다. 이 이름은 손상되었거나 없는 통합 문서의 시트 이름과 동일해야 합니다.
  4. 차트와 데이터 집합이 포함된 이 파일을 저장하지 않았으면 파일을 저장합니다.
  5. Excel 2003이나 Excel 2002에서는 편집 메뉴에서 연결을 누른 다음 원본 변경을 누릅니다.

    Excel 2007에서는 데이터 탭을 누르고 연결 그룹에서 연결 편집을 누른 다음 원본 변경을 누릅니다.
  6. 원본 파일 상자에서 변경할 연결을 선택한 다음 원본 변경을 누릅니다.
  7. 연결 변경 대화 상자에서 복구된 데이터와 차트가 포함된 새 파일을 선택한 다음 확인을 누릅니다.
  8. 다음과 같은 오류 메시지가 나타나는 경우
    수식에 잘못된 외부 참조가 있습니다.
    3단계에서 입력한 시트 이름이 원래 시트 이름과 동일하지 않을 수 있습니다. 1단계로 이동합니다.
  9. 원본 파일 상자가 이제 비어 있습니다. 이를 통해 모든 연결이 없어지거나 손상된 파일 대신 활성 파일을 가리키는 것을 확인할 수 있습니다. 닫기를 누릅니다.
이제 차트가 활성 통합 문서에서 이름이 바뀐 시트에 있는 복구된 데이터를 참조하고 복구된 데이터와 상호 작용합니다.

속성

기술 자료: 300643 - 마지막 검토: 2008년 3월 14일 금요일 - 수정: 4.1
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft Office Excel 2007
  • Microsoft Office Excel 2003
  • Microsoft Excel 2002 Standard Edition
키워드:?
kbdtacode kbhowto kbprogramming KB300643

피드백 보내기

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com