요약
Microsoft Excel에는 xy(분산형) 또는 거품형 차트의 데이터 요소에 텍스트 레이블을 자동으로 연결하는 기본 제공 명령이 없습니다. 그러나 이 작업을 수행하는 Microsoft Visual Basic for Applications 매크로를 만들 수 있습니다. 이 문서에는 XY 분산형 차트에서 이 작업을 수행하는 샘플 매크로가 포함되어 있습니다. 그러나 거품형 차트에도 동일한 코드를 사용할 수 있습니다.
추가 정보
Microsoft는 명시적이거나 묵시적인 보증 없이 설명용으로만 프로그래밍 예제를 제공합니다. 여기에는 상품성 또는 특정 목적에의 적합성에 대한 묵시적 보증이 포함되지만 이에 국한되지 않습니다. 이 문서에서는 설명 중인 프로그래밍 언어와 프로시저를 만들고 디버깅하는 데 사용되는 도구에 대해 잘 알고 있다고 가정합니다. Microsoft 지원 엔지니어는 특정 절차의 기능을 설명하는 데 도움을 줄 수 있습니다. 그러나 추가 기능을 제공하거나 특정 요구 사항을 충족하는 절차를 구성하기 위해 이러한 예제를 수정하지는 않습니다. 이 문서의 샘플 코드에서는 데이터 및 연결된 레이블이 다음 형식에 따라 워크시트에 정렬되어 있다고 가정합니다.
- 첫 번째 열에는 데이터 레이블이 포함되어 있습니다.
- 두 번째 열에는 분산형 차트의 x 값이 들어 있습니다.
- 세 번째 및 후속 열에는 분산형 차트의 y 값이 포함됩니다.
참고: 제공된 예제에는 y 값에 대한 데이터 열이 하나만 포함되어 있지만 둘 이상의 데이터 계열을 사용할 수 있습니다.
이 문서의 매크로를 사용하려면 다음 데이터를 사용하여 차트를 만듭니다.
A1: 레이블 B1: X 값 C1: Y 값 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일 필요는 없습니다.
분산형 차트의 데이터 요소에 텍스트 레이블을 첨부하려면 다음 단계를 따릅니다.
예제 데이터가 포함된 워크시트에서 셀 범위 B1:C6을 선택합니다.
Microsoft Office Excel 2003 및 이전 버전의 Excel에서는 다음 단계를 따릅니다.
- 삽입 메뉴에서 차트를 클릭합니다.
- 차트 마법사 - 4/4단계 - 차트 종류 대화 상자에서 Standard 형식 탭을 클릭합니다. 차트 유형에서 XY(분산형)를 클릭한 후 다음을 클릭합니다.
- 차트 마법사 - 4단계 중 2단계 - 차트 원본 데이터 대화 상자에서 데이터 범위 탭을 클릭합니다. 계열 위치에서 열을 클릭한 후 다음을 클릭합니다.
- 차트 마법사 - 4단계 중 3단계 - 차트 옵션 대화 상자에서 다음을 클릭합니다.
- 차트 마법사 - 4/4단계 - 차트 위치 대화 상자에서 새 시트로 옵션을 클릭한 다음 마침을 클릭합니다.
Microsoft Office Excel 2007에서는 다음 단계를 따릅니다.
- 삽입 탭을 클릭하고 차트 그룹에서 분산형을 클릭한 다음 형식을 선택합니다.
- 디자인 탭의 위치 그룹에서 차트 이동을 클릭하고 새 시트를 클릭한 다음 확인을 클릭합니다.
Alt+F11을 눌러 Visual Basic Editor를 시작합니다.
[삽입] 메뉴에서 [모듈]을 클릭합니다.
모듈 시트에 다음 샘플 코드를 입력합니다.
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 SubAlt+Q를 눌러 Excel로 돌아갑니다.
차트 시트로 전환합니다.
Excel 2003 및 이전 버전의 Excel에서는 [도구] 메뉴에서 [매크로]를 가리킨 다음 [매크로]를 클릭합니다. AttachLabelsToPoints를 클릭한 다음 실행을 클릭하여 매크로를 실행합니다.
Excel 2007에서는 개발자 탭을 클릭하고 코드 그룹에서 매크로를 클릭하고 AttachLabelsToPoints를 선택한 다음 실행을 클릭합니다.
매크로는 A2:A6 셀의 레이블을 차트의 데이터 요소에 연결합니다.