728x90
뭐든 반복작업을 VBA로 진행하면 굉장히 편리해 집니다.
차트는 특히 요소가 많기 때문에 여러가지를 알아둬야 합니다.
VBA 자체도 차트에 관련해서 많은 명령어를 만들어 두었습니다.
그 중 가장 기본 요소를 알아보겠습니다.
320x100
1. VBA로 차트 추가하기
차트에 관련 된 것은 기본적으로 속성인 ChartObject 속성, ChartObjects 매서드와 Chart 인터페이스를 사용합니다.
속성이 너무 많아서 하나하나를 다 소개하기 보다는 어떻게 사용하는지 바로 예시를 들어보겠습니다.

2. 소스 설명하기
Sub Add_chart()
Dim wb As Workbook
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("Sheet1") ' 원하는 워크시트 선택
' 차트 데이터 입력
Dim chartData As Range
Set chartData = ws.Range("A1:B11") ' 차트에 사용할 범위
' 새로운 차트 생성
Dim chart1 As ChartObject
Set chart1 = ws.ChartObjects.Add(Left:=200, Width:=375, Top:=75, Height:=225)
' 차트 데이터 설정
With chart1.chart
.SetSourceData chartData
.ChartType = xlColumnClustered ' 원하는 차트 유형 선택
End With
' 차트 스타일 및 제목 설정
With chart1
.chart.HasTitle = True ' 차트 제목 활성화 하기
.chart.ChartTitle.Text = "Sample Chart"
' 원하는 다른 스타일 설정
End With
End Sub
Chart1이라는 이름의 ChartObject를 선언하고 ChartObjects.Add로 추가합니다.
이 순간에는 빈 차트가 만들어집니다.
그런 후에 chart 인터페이스를 통해서 chart의 설정을 합니다.
"워크시트 이름".ChartObjects.Add (double Left, double Top, double Width, double Height) : 워크 시트에 차트를 추가합니다.
- Left : 추가되는 차트의 가로 위치입니다.
- Tob : 추가되는 차트의 세로 위치입니다.
- Width : 추가되는 차트의 너비입니다.
- Height : 추가되는 차트의 너비입니다.
3. chart 종류 결정하기
엑셀은 차트 유형도 많습니다.
기본적인 차트 유형들만 소개하겠습니다.
"차트이름".Chart.chartType = "차트 유형"
- xlColumnClustered (51) : 2차원 묶은 세로 막대형
- xlColumnStacked (52) : 2차원 누적 세로 막대형
- xlColumnStacked100 (53) : 2차원 100% 기준 누적 세로 막대형
- xlBarClustered (57) : 2차원 묶은 가로 막대형
- xlBarStacked (58) : 2차원 누적 가로 막대형
- xlBarStacked100 (59) : 2차원 100% 기준 누적 가로 막대형
- xlLine (4) : 꺽은 선형
- xlLineMarkers (65) : 표식이 있는 꺽은 선형
- xlLineMarkersStacked (66) : 표식이 있는 누적형 꺽은 선형
- xlLineMarkersStacked100 (67) : 표식이 있는 100% 기준 누적형 꺽은 선형
- xlLineStacked (63) : 누적형 꺽은 선형
- xlLineStacked100 (64) 100% 기준 누적형 꺽은 선형
- xlXYScatter (-4169) : 분산형
- xlXYScatterLines (74) : 꺽은 선형 분산형
- xlXYScatterLinesNoMarkers (75) 표식이 없는 꺽은 선형 분산형
- xlXYScatterSmooth (72) : 곡선이 있는 분산형
- xlXYScatterSmoothNoMarkers (73) : 표식이 없는 곡선 분산형
반응형