세로로 작성해야 하고 첫 줄에는 제목, 둘째는 X축 세번째는 Y축에 들어갈 데이터를 선택합니다.
갯수는 상관 없이 선택한 상태에서 옆의 버튼을 누릅니다.
파일 사용하기
그려진 파일에는 기본적인 서식은 추가했습니다.
디자인은 알아서 해서 사용하도록 합시다.
이 정도도 많이 편하다고 생각합니다.
매크로를 사용해서 그려진 표
그럼 코드를 알아보겠습니다.
Sub CreateIPA()
Dim rng As Range
Dim ws As Worksheet
Dim chartObj As ChartObject
Dim series As series
Dim i AsInteger'선택한 영역을 rng 변수에 저장Set rng = Selection
Set ws = ActiveSheet
'선택된 영역의 첫 줄을 제목으로, 두 번째 줄을 X 값으로, 세 번째 줄을 Y 값으로 사용Dim titleRange As Range
Dim xValuesRange As Range
Dim yValuesRange As Range
Set titleRange = rng.Columns(1)
Set xValuesRange = rng.Columns(2)
Set yValuesRange = rng.Columns(3)
'차트 객체를 추가Set chartObj = ws.ChartObjects.Add(Left:=100, Width:=375, Top:=50, Height:=225)
'분산형 차트 그리기With chartObj.Chart
.ChartType = xlXYScatter
.HasTitle = True'제목 설정하기
.ChartTitle.Text = "IPA 그래프 그리기"
.Axes(xlCategory, xlPrimary).HasTitle = True'x축 제목 설정하기
.Axes(xlCategory, xlPrimary).AxisTitle.Text = "성과(Performance)"
.Axes(xlValue, xlPrimary).HasTitle = True'y축 제목 설정하기
.Axes(xlValue, xlPrimary).AxisTitle.Text = "중요도(Importance)"'각 열을 반복하며 범주 추가For i = 1To titleRange.Rows.Count
Set series = .SeriesCollection.NewSeries '새로운 범주 설정하기
series.Name = titleRange.Cells(i, 1).Value '항목 하나의 제목을 입력하기
series.xValues = xValuesRange.Cells(i, 1).Value '항목 하나의 x 값을 입력하기
series.Values = yValuesRange.Cells(i, 1).Value '항목 하나의 y 값을 입력하기
series.MarkerStyle = xlMarkerStyleCircle '표식 모양 동그라미
series.MarkerSize = 10' 표식 크기 10
series.HasDataLabels = True'레이블 만들기
series.DataLabels.ShowValue = False
series.DataLabels.ShowSeriesName = True'레이블에 항목제목 적용하기
series.DataLabels.Position = xlLabelPositionAbove '레이블을 위로 설정Next i
EndWith' 메모리를 비워서 정리Set chartObj = NothingSet rng = NothingSet titleRange = NothingSet xValuesRange = NothingSet yValuesRange = NothingSet series = NothingEndSub
<코드 동작 순서>
선택한 객체인 Selection으로 rng 변수에 할당합니다.
선택한 행별 데이터를 첫번째 두번째 세번째로 titleRange, xValuesRange, yValuesRange 변수에 배열로 입력합니다.
분산형 차트의 코드는 xlXYScatter입니다.
그런 후 for 문을 사용해서 각각의 데이터로 항목을 만들고 주변에 명령어로 서식을 입력합니다.