VBA 코드를 활용한 엑셀 차트 생성 방법
엑셀을 사용하다 보면 자신이 원하는 형태의 차트를 찾기 힘들 때가 있습니다. 이때, VBA 코드를 활용하면 자신이 원하는 형태의 차트를 쉽고 빠르게 만들 수 있습니다.
이번 포스팅에서는 VBA 코드를 사용하여 엑셀 차트를 만드는 방법에 대해 알아보도록 하겠습니다.
1. 엑셀 차트 생성하기
Sub CreateChart()
Dim chart1 As Chart
Set chart1 = ActiveSheet.Shapes.AddChart2(297, xlColumnClustered).Chart
chart1.Axes(xlValue).TickLabels.NumberFormat = "0.0%"
chart1.SetSourceData Range("A2:B6")
chart1.SetElement (msoElementLegendNone)
End Sub
위의 코드는 엑셀 차트를 생성하는 간단한 예시입니다. 코드를 한 줄씩 살펴보면 다음과 같습니다.
- 첫번째 줄에서는
CreateChart
서브루틴을 정의합니다. Dim
으로chart1
이라는 차트 객체를 만듭니다.Set
으로chart1
에 엑셀 차트를 추가합니다.chart1
의 Y축 눈금 레이블을 퍼센트 형태로 지정합니다.SetSourceData
로 차트에서 사용할 데이터 범위를 설정합니다.SetElement
로 범례를 제거합니다.
2. 차트의 유형 변경하기
Sub ChangeChartType()
ActiveSheet.Shapes("Chart 1").Chart.ChartType = xlLine
End Sub
위의 코드는 차트의 유형을 변경하는 예시입니다. 코드를 한 줄씩 살펴보면 다음과 같습니다.
- 첫번째 줄에서는
ChangeChartType
서브루틴을 정의합니다. ActiveSheet.Shapes("Chart 1").Chart
로"Chart 1"
이라는 이름의 차트 객체를 가져옵니다.ChartType
속성을 이용하여 차트의 유형을 변경합니다.
3. 차트의 제목 변경하기
Sub ChangeChartTitle()
With ActiveSheet.ChartObjects("Chart 1").Chart
.HasTitle = True
.ChartTitle.Text = "새로운 차트 제목"
End With
End Sub
위의 코드는 차트의 제목을 변경하는 예시입니다. 코드를 한 줄씩 살펴보면 다음과 같습니다.
- 첫번째 줄에서는
ChangeChartTitle
서브루틴을 정의합니다. With
구문을 이용하여 차트 객체를 가져옵니다.HasTitle
속성을True
로 설정하여 제목이 있는지 확인합니다.ChartTitle.Text
속성을 이용하여 제목을 변경합니다.
4. 차트의 축 레이블 변경하기
Sub ChangeAxisLabel()
With ActiveSheet.ChartObjects("Chart 1").Chart.Axes(xlCategory)
.HasTitle = True
.AxisTitle.Text = "새로운 범주 축 레이블"
End With
With ActiveSheet.ChartObjects("Chart 1").Chart.Axes(xlValue)
.HasTitle = True
.AxisTitle.Text = "새로운 값 축 레이블"
End With
End Sub
위의 코드는 차트의 축 레이블을 변경하는 예시입니다. 코드를 한 줄씩 살펴보면 다음과 같습니다.
- 첫번째 줄에서는
ChangeAxisLabel
서브루틴을 정의합니다. With
구문을 이용하여 카테고리(X)축 레이블을 가져옵니다.HasTitle
속성을True
로 설정하여 레이블이 있는지 확인합니다.AxisTitle.Text
속성을 이용하여 레이블을 변경합니다.- 4 과정을 값(Y)축 레이블에도 동일하게 적용합니다.
5. 차트의 데이터 레이블 표시하기
Sub ShowDataLabels()
Dim srs As Series
For Each srs In ActiveSheet.ChartObjects("Chart 1").Chart.SeriesCollection
srs.HasDataLabels = True
srs.DataLabels.ShowValue = True
Next srs
End Sub
위의 코드는 차트의 데이터 레이블을 표시하는 예시입니다. 코드를 한 줄씩 살펴보면 다음과 같습니다.
- 첫번째 줄에서는
ShowDataLabels
서브루틴을 정의합니다. For Each
구문을 이용하여 차트의 시리즈 객체를 가져옵니다.HasDataLabels
속성을True
로 설정하여 데이터 레이블을 표시합니다.ShowValue
속성을True
로 설정하여 값이 표시되도록 합니다.
6. 마치며
이상으로 VBA 코드를 활용하여 엑셀 차트를 생성하고 수정하는 방법에 대해 알아보았습니다. VBA 코드를 사용하면 다양한 형태의 차트를 더욱 쉽고 빠르게 만들 수 있습니다. 더 많은 VBA 코드를 익혀서 보다 효율적인 엑셀 작업을 해보시길 바랍니다.
포스팅이 도움이 되셨다면 구독, 공감, 댓글 부탁드려요!
행복한 하루 되세요!
'■ 칼퇴를 위한 VBA : 사례 > - VBA for 엑셀' 카테고리의 다른 글
VBA 스크립트를 활용한 엑셀 함수 사용 방법 (0) | 2023.06.23 |
---|---|
엑셀 VBA로 데이터 입력 자동화하기 (0) | 2023.06.23 |
엑셀 VBA를 사용하여 데이터 정렬하는 방법 (0) | 2023.06.23 |
VBA 스크립트를 활용한 엑셀 셀 서식 지정 방법 (0) | 2023.06.23 |
엑셀 VBA를 이용한 워크시트 병합 방법 (0) | 2023.06.23 |