차트 생성이 가능한 매크로를 만들어 두면 여러 모로 편합니다. 만약 차트 포맷이 정해져 있고 반복적으로 차트를 만들어야 된다면 매크로를 이용해서 작업 시간을 줄여 보세요. 초보자는 차트의 세부 설정까지 매크로로 제어하기 힘들겠지만 한 두번씩 만들다 보면 코드를 이해하고 업그레이드할 수 있는 능력이 생길 겁니다.
▼ 먼저 차트에 적용할 데이터를 만듭니다. 그리고 개발자 도구 탭을 눌러 매크로를 실행해서 자동으로 실행할 함수를 생성합니다.
▼ 아주 간단하게 차트를 만드는 소스는 아래와 같습니다. Shapes.AddChart() 함수를 이용하시면 바로 차트객체를 생성할 수 있습니다. 생성된 차트에 들어갈 데이터는 ActiveChart.SetSourceData 를 이용합니다. 여기에 차트 데이터를 넣으면 됩니다.
Sub ChartMake()
Sheets("차트만들기").Shapes.AddChart.Select
ActiveChart.SetSourceData Source:=Sheets("차트만들기").Range("A2:F7")
End Sub
▼ 매크로를 실행하면 아래 그림과 같이 차트가 자동으로 들어갑니다. 열 항목도 범례에 제대로 들어갔네요. 다음은 추가한 차트를 워크시트 어느 위치에 고정할 지 결정하는 방법을 알아 봅니다.
※ 아래는 참고하면 좋을 만한 글들의 링크를 모아둔 것입니다. ※ ▶ 엑셀 Excel 차트 그래프 합치기 ▶ 엑셀 Excel 워크시트 데이터를 제외한 차트만 출력하기 ▶ 엑셀 Excel VBA 개발을 위한 개발 도구 탭 추가하기 ▶ 엑셀 VBA 매크로 실행 버튼으로 코드 실행하기 ▶ 엑셀 VBA 매크로 디버깅, 디버그 코드 분석하기 |
▼ 원래 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 의 상수 값에 따라 차트의 종류를 지정할 수 있습니다. 어떤 모양인지는 하나씩 찍어 볼 수 밖에 없습니다.
※ 아래는 참고하면 좋을 만한 글들의 링크를 모아둔 것입니다. ※ ▶ 엑셀 Excel 차트 그래프 합치기 ▶ 엑셀 Excel 워크시트 데이터를 제외한 차트만 출력하기 ▶ 엑셀 Excel VBA 개발을 위한 개발 도구 탭 추가하기 ▶ 엑셀 VBA 매크로 실행 버튼으로 코드 실행하기 ▶ 엑셀 VBA 매크로 디버깅, 디버그 코드 분석하기 |
'엑셀(Excel) > VBA' 카테고리의 다른 글
엑셀 VBA 셀 배경색 적용하는 다양한 방법 (0) | 2024.08.12 |
---|---|
엑셀 VBA 행, 열 삭제 및 추가하기 (0) | 2024.08.12 |
엑셀 VBA 매크로 이용해서 특정 조건의 데이터를 삭제하고 싶을 때 (25) | 2024.07.06 |
엑셀 VBA 긴 소스 줄 바꿈으로 가독성 높이기 (0) | 2024.07.03 |
엑셀 VBA 주민번호, 이메일 문자열 잘라 내는 방법 (8) | 2024.07.01 |
엑셀 VBA 값 숫자 여부 판단하는 IsNumberic 함수 사용하기 (2) | 2024.06.29 |
엑셀 VBA 리스트 박스(ListBox) 사용하기 (0) | 2024.06.29 |
엑셀 VBA For Each 반복문 이용해서 셀 영역 병합 및 합계 구하기 (0) | 2024.06.15 |