- 최초 작성일: 2002-04-03
- 최종 수정일: 2026-09-30
- 조회수: 12 회
- 작성자: 권현욱 (엑셀러)
- 강의 제목: 애니메이션 차트 만들기
들어가기 전에
오래 전 엑셀 파일로 진행하던 강의를 웹 글로 복원한 것이라, "버튼을 눌러보세요"처럼 엑셀에서 직접 조작하라는 표현이 남아 있을 수 있습니다. 결과는 본문의 그림이나 표로 확인하실 수 있으며, 현재와 맞지 않는 내용은 보완하되 전반적인 스타일은 당시의 갬성(?)을 유지했습니다.
몇 강좌 동안 계속 '차트'라고 하는 같은 주제를 가지고 이렇게도 해보고 저렇게도 해보고 하고 있는데 어떻습니까? 재미가 느껴지시는지… 항상 하는 얘기지만 무슨 일을 하든지 간에 중요한 것은 몇 가지 안되는 기본 규칙을 완전히 내 것으로 만든 다음 그 나머지 것은 기본 규칙에 창의성을 가미하고 응용하는 것입니다.
무협지나 영화 같은 데에서도 보면 무술의 초짜들은 웬갖 현란한 잡기술들을 다 구사하고 한껏 촐싹거리며 싸우지만 절세 고수들은 몇 수 사용하지 않고 결판을 내지 않습니까!
기본에 충실(Back to Basic)하고 그것을 응용할 마음의 준비만 갖추어져 있다면 프로그래밍을 할 기본 소양은 다 갖춘 것입니다. '프로그래밍을 할 체질' 또는 '프로그래밍용 머리'가 따로 있는 것은 절대로 아니라는 이야기 입니다!!
그런 의미에서 차트에 대한 응용 사례를 볼 수 있는 것 한 가지를 보도록 하겠습니다. 이번 시간에 다루어 볼 내용은 애니메이션 차트로 이것은 미국의 John 아저씨(John Walkenbach)의 아이디어입니다.
애니메이션 차트 만들기
핵심 요약: 셀 값을 바꿔 차트 움직이기
차트에 연결된 데이터가 수식으로 이어져 있다면 기준 셀 값을 반복문으로 조금씩 바꾸는 것만으로 애니메이션 차트를 만들 수 있습니다.
- 1단계: A1 셀 값을 기준으로 A열과 B열(SIN) 수식을 만들고 차트를 그립니다.
- 2단계: 차트의 눈금선, 배경 및 계열 색상 등을 보기 좋게 다듬습니다.
- 3단계: For ~ Next 문으로 A1 셀 값을 0.035씩 150번 증가시킵니다.
Step 1: 애니메이션 차트란?
엑셀에서 무슨 애니메이션이냐고 생각하실 수 있습니다. 결론부터 말씀드리면 차트가 실제로 움직이며 그려지는 효과를 만들 수 있습니다. 아래 코드를 실행해서 확인해 보시기 바랍니다.
Step 2: 데이터와 차트 준비
WorkPlace 시트에 있는 것처럼 데이터를 입력하고 기본적인 차트를 하나 그립니다. 그런 다음 차트 오브젝트의 각종 속성값을 바꾸어 줍니다. X, Y축 눈금선도 없애고 차트 배경 색상과 계열 색상도 적당한 것으로 바꾸고...
워크시트의 A1 셀에는 0을 입력하고, A4 셀에는 =A1을, A5 셀부터는 =$A$1+A4를 아래로 채웁니다. B열에는 =SIN(A열 셀)을 입력하여 사인 곡선 데이터를 만들고 이 값을 차트에 연결합니다.
Step 3: 코드 살펴보기
그런 다음 아래와 같은 코드를 작성합니다.
Sub AnimationChart()
Dim shtTarget As Worksheet
Dim rngTarget As Range
Dim i As Integer
Set shtTarget = ThisWorkbook.Sheets("WorkPlace")
Set rngTarget = shtTarget.[A1]
For i = 1 To 150
rngTarget = rngTarget + 0.035
Next i
rngTarget = 0
End Sub
코드는 특이할 것이 하나도 없습니다. For ~ Next 순환문을 사용하여 rngTarget 셀, 즉 WorkPlace 시트의 A1 셀 값을 계속 변화시켜 나갑니다. 그러면 A5번 셀부터 이 값을 받아서 차트에 연결이 되는 것입니다.
A1 셀 값이 조금씩 바뀔 때마다 수식으로 연결된 A5 이후 셀과 사인 값이 다시 계산되고, 그에 따라 차트가 매 순간 다른 모양으로 그려지므로 움직이는 것처럼 보이게 됩니다.
오늘은 짧게 여기까지...
정리 — 애니메이션 차트 핵심
| 구분 | 사용한 코드 | 역할 |
|---|---|---|
| 대상 시트 | ThisWorkbook.Sheets("WorkPlace") | 작업 시트 지정 |
| 기준 셀 | Set rngTarget = shtTarget.[A1] | 값을 바꿀 셀 |
| 반복 | For i = 1 To 150 | 150단계 이동 |
| 값 증가 | rngTarget = rngTarget + 0.035 | 차트 갱신 |
| 초기화 | rngTarget = 0 | 처음 상태로 복귀 |
자주 묻는 질문 (FAQ)
Q1. 애니메이션 차트는 어떤 원리로 움직이나요?
A1 셀 값이 바뀌면 이 값에 연결된 A5 이후 셀과 SIN 값이 다시 계산되고, 그 결과가 연결된 차트에 반영되어 움직이는 것처럼 보입니다.
Q2. 움직이는 속도는 어떻게 조절하나요?
For ~ Next의 반복 횟수와 한 번에 더해 주는 증분(0.035)을 바꾸면 움직임의 단계와 폭을 조절할 수 있습니다.
Q3. 차트 서식은 어떻게 설정하나요?
기본 차트를 그린 뒤 X, Y축 눈금선을 없애고 차트 배경과 계열 색상을 적당한 것으로 바꿔 주면 됩니다.
마치며
기본 규칙에 충실하고 창의성을 더하면 셀 값을 바꾸는 간단한 코드만으로도 차트가 움직이는 결과물을 만들 수 있습니다.