반응형
상사에게 보고서를 올릴 때,
숫자만 빽빽하게 적힌 표를 들고 가면
대부분 이런 반응이 돌아옵니다.
“그래서 결론이 뭐야?”
“한눈에 보이게 좀 정리해서 와.”
말은 쉽죠.
하지만 매번
[삽입] → [차트] → [데이터 선택] → [서식 조정]…
이 과정을 반복하다 보면,
보고서 하나에 쓸데없이 시간이 많이 들어갑니다.
그래서 이번에는
드래그 한 번 + 버튼 한 번으로
선택한 데이터를 바로 차트로 만들어 주는 VBA 매크로를 정리해봤습니다.
이 매크로 하나만 있으면
보고서 퀄리티가 정말 빠르게 올라갑니다.
왜 차트 자동화가 필요할까
실무에서 차트는 “있으면 좋은 것”이 아니라
사실상 필수에 가깝습니다.
- 숫자만 있는 표는
→ 이해하는 데 시간이 걸리고 - 차트 하나만 있어도
→ 흐름이 바로 보입니다
차트 자동화의 장점은 이런 겁니다.
- 표준화
→ 팀원마다 제각각인 차트 스타일 통일 - 속도
→ 지점별, 월별 차트 여러 개도 빠르게 생성 - 보고력
→ 숫자를 ‘이야기’로 바꿔줍니다
이 매크로는 이렇게 동작합니다
동작 방식은 아주 단순합니다.
- 차트로 만들 데이터 범위를 드래그
- 매크로 실행
- 선택한 표를 기준으로
→ 바로 오른쪽에 세로 막대형 차트 자동 생성
차트 위치, 크기, 기본 스타일도
보고서에서 가장 무난하게 쓰는 설정으로 맞춰 두었습니다.
VBA 매크로 사용 방법
- 엑셀에서 Alt + F11 → VBA 편집기 실행
- 상단 메뉴 [삽입] → [모듈] 클릭
- 아래 코드 그대로 복사해서 붙여넣기
- 엑셀로 돌아와
👉 차트로 만들 범위를 먼저 드래그 - Alt + F8 → CreateChartInstantly 실행
차트 자동 생성 VBA 전체 코드
Sub CreateChartInstantly()
Dim DataRng As Range
Dim MyChart As ChartObject
' 선택한 범위 확인
On Error Resume Next
Set DataRng = Selection
On Error GoTo 0
If DataRng Is Nothing Or DataRng.Cells.Count < 2 Then
MsgBox "차트로 만들 데이터 범위를 먼저 선택해주세요.", vbExclamation
Exit Sub
End If
' 차트 생성 (표 오른쪽)
Set MyChart = ActiveSheet.ChartObjects.Add( _
Left:=DataRng.Left + DataRng.Width + 10, _
Top:=DataRng.Top, _
Width:=400, _
Height:=300)
' 차트 설정
With MyChart.Chart
.SetSourceData Source:=DataRng
.ChartType = xlColumnClustered ' 세로 막대형
.HasTitle = True
.ChartTitle.Text = "데이터 분석 차트"
.ChartStyle = 201
End With
MsgBox "차트가 생성되었습니다.", vbInformation, "완료"
End Sub
Dim DataRng As Range
Dim MyChart As ChartObject
' 선택한 범위 확인
On Error Resume Next
Set DataRng = Selection
On Error GoTo 0
If DataRng Is Nothing Or DataRng.Cells.Count < 2 Then
MsgBox "차트로 만들 데이터 범위를 먼저 선택해주세요.", vbExclamation
Exit Sub
End If
' 차트 생성 (표 오른쪽)
Set MyChart = ActiveSheet.ChartObjects.Add( _
Left:=DataRng.Left + DataRng.Width + 10, _
Top:=DataRng.Top, _
Width:=400, _
Height:=300)
' 차트 설정
With MyChart.Chart
.SetSourceData Source:=DataRng
.ChartType = xlColumnClustered ' 세로 막대형
.HasTitle = True
.ChartTitle.Text = "데이터 분석 차트"
.ChartStyle = 201
End With
MsgBox "차트가 생성되었습니다.", vbInformation, "완료"
End Sub
실무에서 써보면 이런 점이 좋습니다
- 숫자 표 → 차트 전환이 빨라서
👉 보고 준비 시간이 확 줄어듭니다 - 스타일이 항상 같아서
👉 보고서 전체가 깔끔해 보입니다 - “이 부분은 차트로 보여주세요”라는 말이 나와도
👉 바로 대응 가능합니다
특히 상사 보고용 파일 만들 때
체감 효과가 큽니다.
마무리
보고서는
얼마나 많이 계산했느냐보다
얼마나 잘 전달했느냐가 더 중요합니다.
오늘 정리한
차트 자동 생성 매크로는
숫자를 ‘보여주는 자료’로 바꾸는 데 딱 좋은 도구입니다.
앞에서 소개한
데이터 정리, 빈 행 삭제, 파일 합치기 매크로와
같이 쓰면
보고서 만드는 흐름이 훨씬 매끄러워질 겁니다. 감사합니다!
반응형
'업무 자동화' 카테고리의 다른 글
| 셀 크기에 맞춰 사진 자동으로 넣기 (이미지 대량 삽입 매크로) (0) | 2026.01.31 |
|---|---|
| 엑셀 VBA: 두 데이터 비교해서 다른 값 자동으로 찾기 (차이점 색칠 매크로) (0) | 2026.01.30 |
| 엑셀 VBA: 데이터 중간에 있는 빈 줄 한 번에 삭제하기 (전처리 매크로) (0) | 2026.01.28 |
| 엑셀 VBA: 시트 목차 자동으로 만들기 (하이퍼링크 이동 메뉴) (0) | 2026.01.27 |
| 엑셀 VBA: 작업 중인 파일 자동으로 백업하기 (날짜·시간 저장) (0) | 2026.01.26 |