supremesky's Collection
by
supremesky
s
supremesky's Collection
0 Followers
엑셀 VBA 차트 매크로로 만드는 방법
차트를 만들 수 있는 매크로를 작성해 두면 여러 모로 편합니다. 만약 차트 포맷이 정해져 있고 반복적으로 차트를 만들어야 된다면 매크로를 만들어서 실행하면 작업 시간을 많이 줄일 수 있겠죠. 먼저 차트에 적용할 데이터를 만듭니다. 그리고 개발자 도구 탭을 눌러 매크로를 실행해서 자동으로 실행할 함수를 생성합니다. 아주 간단하게 차트를 만드는 소스는 아래와 같습니다. Shapes.AddChart() 함수를 이용하시면 바로 차트객체를 생성할 수 있습니다. 생성된 차트에 들어갈 데이터는 ActiveChart.SetSourceData 를 이용합니다. 여기에 차트 데이터를 넣으면 됩니다. Sub ChartMake() Sheets("차트만들기").Shapes.AddChart.Select ActiveChart.SetSourceData Source:=Sheets("차트만들기").Range("A2:F7") End Sub 매크로를 실행하면 아래 그림과 같이 차트가 자동으로 들어갑니다. 열 항목도 범례에 제대로 들어갔네요. 다음은 추가한 차트를 워크시트 어느 위치에 고정할 지 결정하는 방법을 알아 봅니다. 원래 AddChart 함수의 원형은 다음과 같습니다. 4가지 파라미터를 가지고 있습니다. 인수로 넘어가는 값으로 차트의 타입, 차트의 왼쪽 상단 꼭지점이 위치할 곳, 차트의 넓이와 높이를 지정할 수 있습니다. 특정 위치에 차트를 만들어서 고정시키고 싶으면 두 번째, 세 번째 인수의 값을 넘깁니다. 두 값은 워크시트의 왼쪽으로부터 거리와 상단에서 높이 값입니다. 아래 소스를 적용한 결과 화면을 보시면 쉽게 이해가 가실 겁니다. Sub ChartMake() Sheets("차트만들기").Shapes.AddChart(xlColumnClustered, 10, 150, 300, 100).Select ActiveChart.SetSourceData Source:=Sheets("차트만들기").Range("A2:F7") End Sub 다음은 차트 종류를 지정하는 방법입니다. AddChart 함수 중 첫 번째 인수는 차트의 종류 입니다. 차트는 그 종류가 많고 상수로 정의했기 때문에 일일이 다 외울 수가 없습니다. 사용할 때 마다 마이크로소프트 MSDN 에서 찾아 봐야 합니다. 링크 주소는 아래와 같습니다. 아래 값에 Member name 의 상수 값에 따라 차트의 종류를 지정할 수 있습니다. 어떤 모양인지는 하나씩 찍어 볼 수 밖에 없습니다. https://msdn.microsoft.com/en-us/library/microsoft.office.interop.excel.xlcharttype.aspx?cs-save-lang=1&cs-lang=vb#code-snippet-1