Excel에서 매크로를 사용하여 xy 분산형 차트 또는 거품형 차트의 데이터 요소에 레이블을 추가하는 방법

요약

Microsoft Excel에서는 xy(분산형) 또는 거품형 차트의 데이터 요소에 텍스트 레이블을 자동으로 연결하는 명령을 기본 제공하지 않습니다. 대신 이러한 작업을 수행하는 Microsoft Visual Basic for Applications 매크로를 만들 수 있습니다. 이 문서에는 XY 분산형 차트에서 이러한 작업을 수행하는 예제 매크로가 있으며, 거품형 차트의 경우에도 같은 코드를 사용할 수 있습니다.

추가 정보

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

  • 첫 번째 열에는 데이터 레이블이 있습니다.

  • 두 번째 열에는 xy(분산형) 차트의 x 값이 있습니다.

  • 세 번째 및 이후 열에는 xy(분산형) 차트의 y 값이 있습니다.

참고: 제공된 예제에는 y 값에 대한 데이터 열이 하나만 있지만 데이터 계열을 두 개 이상 사용할 수도 있습니다.

이 문서의 매크로를 사용하려면 다음 데이터를 사용하여 차트를 만듭니다. A1: Labels B1: X Values C1: Y Values A2: DataPoint1 B2: 12 C2: 5 A3: DataPoint2 B3: 9 C3: 7 A4: DataPoint3 B4: 5 C4: 3 A5: DataPoint4 B5: 4 C5: 8 A6: DataPoint5 B6: 1 C6: 4 참고: 표에는 빈 열이 있어서는 안 되며, 데이터 레이블이 있는 열은 x 값이 있는 열과 인접해야 합니다. 레이블과 값은 이 문서에서 설명하는 형식과 정확히 일치하도록 배열되어야 합니다. 왼쪽 위 셀이 반드시 셀 A1일 필요는 없습니다.

xy(분산형) 차트의 데이터 요소에 텍스트 레이블을 연결하려면 다음과 같이 하세요.

  1. 예제 데이터가 있는 워크시트에서 셀 범위 B1:C6을 선택합니다.

  2. Microsoft Office Excel 2003과 이전 버전의 Excel에서 이렇게 하려면 다음과 같이 하세요.

    1. 삽입 메뉴에서 차트를 클릭합니다.

    2. 차트 마법사 - 4단계 중 1단계 - 차트 종류 대화 상자에서 표준 종류 탭을 클릭합니다. 차트 종류 아래에서 분산형을 클릭하고 다음을 클릭합니다.

    3. 차트 마법사 - 4단계 중 2단계 - 차트 원본 데이터 대화 상자에서 데이터 범위 탭을 클릭합니다. 방향에서 열을 클릭하고 다음을 클릭합니다.

    4. 차트 마법사 - 4단계 중 3단계 - 차트 옵션 대화 상자에서 다음을 클릭합니다.

    5. 차트 마법사 - 4단계 중 4단계 - 차트 위치 대화 상자에서 새로운 시트로 옵션을 클릭한 다음 마침을 클릭합니다.

    Microsoft Office Excel 2007에서 다음과 같이 하세요.

    1. 삽입 탭을 클릭하고 차트 그룹에서 분산형을 클릭한 다음 종류를 선택합니다.

    2. 디자인 탭의 위치 그룹에서 차트 이동을 클릭하고 새 시트를 클릭한 다음 확인을 클릭합니다.

  3. Alt+F11을 눌러 Visual Basic Editor를 시작합니다.

  4. 삽입 메뉴에서 모듈을 클릭합니다.

  5. 모듈 시트에서 다음 예제 코드를 입력합니다.

    Sub AttachLabelsToPoints()
    
       'Dimension variables.
       Dim Counter As Integer, ChartName As String, xVals As String
    
       ' Disable screen updating while the subroutine is run.
       Application.ScreenUpdating = False
    
       'Store the formula for the first series in "xVals".
       xVals = ActiveChart.SeriesCollection(1).Formula
    
       'Extract the range for the data from xVals.
       xVals = Mid(xVals, InStr(InStr(xVals, ","), xVals, _
          Mid(Left(xVals, InStr(xVals, "!") - 1), 9)))
       xVals = Left(xVals, InStr(InStr(xVals, "!"), xVals, ",") - 1)
       Do While Left(xVals, 1) = ","
          xVals = Mid(xVals, 2)
       Loop
    
       'Attach a label to each data point in the chart.
       For Counter = 1 To Range(xVals).Cells.Count
         ActiveChart.SeriesCollection(1).Points(Counter).HasDataLabel = _
             True
          ActiveChart.SeriesCollection(1).Points(Counter).DataLabel.Text = _
             Range(xVals).Cells(Counter, 1).Offset(0, -1).Value
       Next Counter
    
    End Sub
  6. Alt+Q를 눌러 Excel로 돌아옵니다.

  7. 차트 시트로 전환합니다.

  8. Excel 2003과 이전 버전의 Excel에서는 도구 메뉴에서 매크로를 가리킨 다음 매크로를 클릭합니다. AttachLabelsToPoints를 클릭한 다음 실행을 클릭하여 매크로를 실행합니다.

    Excel 2007에서는 개발자 탭을 클릭하고 코드 그룹에서 매크로를 클릭하고 AttachLabelsToPoints를 선택한 다음 실행을 클릭합니다.

셀 A2:A6의 레이블이 매크로에 의해 차트의 데이터 요소에 연결됩니다.

추가 도움이 필요하신가요?

기술 향상
교육 살펴보기
새로운 기능 우선 가져오기
Microsoft Insider 참가

이 정보가 유용한가요?

소중한 의견에 감사드립니다.

피드백을 주셔서 감사합니다. Office 지원 에이전트와 연락하는 것이 도움이 될 것 같습니다.

×