오빠두엑셀 `2026 무료 챌린지` 오픈! 완주하고 수료증 받아가세요! 5년 연속 IT분야 베스트셀러! 「 진짜쓰는 실무엑셀 」로 2026년 공부 끝내기 엑셀이 막히셨나요? Q&A 게시판에서 바로 해결하세요.
메뉴
엑셀 차트 강의

엑셀 움직이는 애니메이션 차트 만들기, 마스터 코드 제공!

오빠두엑셀 by 오빠두엑셀
  • 학습시간 26분
  • 난이도 중급
  • 작성일 2021.12.22

다양한 엑셀 차트 제작 기법과 매크로 코드를 활용하여 날짜별 데이터가 변하는 애니메이션 차트 만들기

이 강의에서는 코로나19 백신 접종 데이터를 활용해 날짜별로 변화하는 엑셀 누적 막대 차트 애니메이션을 만드는 방법을 다룹니다. 피벗테이블 계산필드로 1·2차 접종률을 분리하고 더미 데이터로 차트 위에 합계 레이블을 표시한 뒤, VBA 매크로로 선택한 기간의 데이터가 순차적으로 재생되는 동적 보고서를 완성하는 과정까지 단계별로 정리합니다.

엑셀 움직이는 애니메이션 차트 만들기, 마스터 코드 제공!
실습 가이드
.

라이브 강의 전체영상도 함께 확인해보세요!

위캔두 회원이 되시면 매주 오빠두엑셀에서 진행하는 라이브강의 풀영상을 확인하실 수 있습니다.


강의에 사용된 차트 애니메이션 매크로 코드

Sub COVID19_ChartAnimation()
 
Dim i As Long: Dim j As Long
Dim sDate As Date
Dim eDate As Date
 
On Error GoTo EH:
 
sDate = DateValue(Range("시작날짜").Value)  '<- 시작날짜가 적힌 셀 주소를 입력하세요
eDate = DateValue(Range("종료날짜").Value)  '<- 종료날짜가 적힌 셀 주소를 입력하세요
 
For i = 0 To eDate - sDate
    DoEvents
    With ActiveSheet.PivotTables(1).PivotFields("필드명")  '<- 피벗테이블의 날짜 필드명을 입력하세요.
        .ClearAllFilters
        .CurrentPage = sDate + i
    End With
    For j = 1 To 50000000: j = j + 1: Next
    DoEvents
Next
 
Exit Sub
 
EH:
MsgBox "날짜가 올바르게 입력되었는지 확인해주세요."
 
End Sub

이번 강의에서는 국가별 코로나 백신 접종 현황을 피벗테이블로 분석한 뒤 기본 차트를 만들고, 엑셀 매크로를 활용해 차트 애니메이션을 구현하는 방법을 단계별로 살펴보겠습니다.

  1. 코로나19 백신 접종현황 피벗테이블 만들기 : 예제파일을 실행한 후 [Raw] 시트로 이동합니다. 원본 데이터에서 임의의 셀을 선택한 뒤 [삽입] - [피벗테이블] 버튼을 클릭하면 '피벗테이블 만들기' 대화상자가 실행됩니다. 대화상자에서 '기존 워크시트'를 선택한 뒤 '피벗' 시트의 K3셀에 피벗테이블을 생성합니다.

    엑셀 차트 애니메이션 피벗테이블

  2. 아래 표와 같이 피벗테이블의 각 영역으로 필드를 이동합니다. 피벗테이블이 완성되면 필터에서 날짜를 클릭하여 특정 날짜의 국가별 코로나19 백신 접종현황을 확인할 수 있습니다.
    영역 필드
    필터 date
    location
    1차접종률, 2차접종률

    피벗테이블 필드 추가

  3. 계산필드 추가하기 : 이번 강의에서 사용할 차트는 '누적 막대' 차트이므로, "1차-2차 접종률(기본)"과 "2차 접종률(누적)" 형태로 데이터가 준비되어야 합니다. 따라서 피벗테이블에 계산필드를 추가하겠습니다. 피벗테이블을 선택한 뒤 [피벗테이블 분석] - [계산 필드]로 이동합니다.

    피벗테이블 계산필드 추가

  4. 계산필드 삽입 대화상자가 나오면 이름은 "차이", 수식은 아래 수식을 입력한 후 [확인] 버튼을 클릭합니다. 그러면 '차이'라는 계산필드가 피벗테이블에 추가됩니다.
    =IF('1차접종률'=0,0,'1차접종률'-'2차접종률')

    피벗테이블 계산필드 삽입

    오빠두Tip : 피벗테이블의 계산필드에는 간단한 함수도 사용할 수 있습니다.
  5. 피벗테이블 정렬하기 : 이제 피벗테이블을 정렬해서 보고서를 보기 좋게 가공하겠습니다. 피벗테이블의 행 레이블 필터를 클릭한 뒤 '기타 정렬 옵션'으로 이동합니다. 정렬 대화상자가 나오면 '내림차순 기준'으로 '합계: 1차 접종률'을 선택한 후 [확인] 버튼을 클릭하면 1차 접종률이 높은 국가 순서로 피벗테이블이 정렬됩니다.

    피벗테이블 내림차순 정렬

앞 단계에서 만든 피벗테이블 보고서 데이터를 참고하여 국가별 코로나19 백신 접종현황 기본 차트를 만들어보겠습니다.

  1. 차트용 데이터 만들기 : 시트의 B4셀, C4셀, D4셀에 피벗테이블 상위 15개 국가 데이터를 차례대로 입력합니다. 피벗테이블의 각 첫 번째 항목을 등호로 불러온 뒤 수식을 아래로 자동 채우기합니다. 만약 피벗테이블의 값을 클릭했을 때 =GETPIVOTDATA 함수가 반환된다면, 피벗테이블 설정을 변경하여 셀주소가 참조되도록 손쉽게 바꿀 수 있습니다.
    셀주소 피벗테이블 데이터
    B4셀 국가명
    C4셀 2차접종률
    D4셀 차이 (1차-2차 접종률)
  2. 기본 차트 만들기 : 데이터가 준비되었으면 머리글을 포함하여 값이 입력된 B3:D18 범위를 선택한 후 [삽입] - [추천 차트]를 클릭합니다. 차트 삽입 대화상자가 나오면 '모든 차트' 탭을 클릭한 뒤 가로막대형 그래프에서 '누적 가로막대형' 그래프를 삽입합니다.

    엑셀 누적 가로막대 차트 만들기

  3. 차트 제목과 가로축을 제거한 후, 세로축을 우클릭하여 '축 서식'으로 이동합니다. 축 서식 패널이 실행되면 '축 위치'에서 [항목을 거꾸로]를 체크하면 세로축이 원본 데이터와 동일한 순서로 정렬되면서 기본 차트가 완성됩니다.

    엑셀 누적 가로막대 차트 세로축 정렬

    오빠두Tip : 차트 시각화 방법에 대한 자세한 설명은 영상강의를 참고해주세요.

누적 가로(세로)막대 차트는 데이터 레이블을 막대 중간에만 표시할 수 있어, 막대 위로 합계를 표시하려면 약간의 트릭이 필요합니다. 이번 강의에서는 누적 가로막대 차트 위로 합계 값을 표시하는 방법을 알아보겠습니다.

  1. 더미데이터 추가하기 : '피벗' 시트의 E4:E18 범위에 더미 데이터로 0을 추가합니다.

    엑셀 차트 더미데이터

  2. 차트를 클릭하면 차트에 사용된 데이터 범위가 시트에 표시됩니다. 마우스 커서를 차트 원본 데이터 범위의 모서리로 이동한 뒤 오른쪽으로 드래그하여 차트 원본 데이터에 '더미' 데이터를 포함시킵니다.

    엑셀 차트 데이터 범위 확장

    오빠두Tip : 원본 데이터에 '더미'가 추가되었지만 더미의 값이 0이므로 차트 모양은 변하지 않습니다.
  3. 데이터 레이블 추가하기 : 차트를 선택하면 오른쪽에 [+] 버튼이 표시됩니다. [+] 버튼 클릭 후 [데이터 레이블]을 선택하면 데이터 레이블이 표시됩니다. 데이터 레이블 중 더미 데이터로 추가된 '0'만 남겨두고 나머지 레이블은 우클릭하여 삭제하거나 키보드 Delete 키를 눌러 제거합니다.
  4. 더미 데이터 레이블을 우클릭한 후 '데이터 레이블 서식'으로 이동합니다. 데이터 레이블 서식 패널이 나오면 레이블 위치를 '축에 가깝게'로 변경합니다. 레이블 위치가 이동하면서 누적 막대 그래프의 끝으로 옮겨가는 것을 확인할 수 있습니다.

    차트 레이블 축에 가깝게

  5. 데이터 레이블 값 변경하기 : 마지막 단계로 데이터 레이블의 표시값을 '합계'로 바꿔주겠습니다. '피벗' 시트의 F4셀을 선택한 후 "=SUM(C4:D4)"를 입력하여 '2차 접종률'과 '1차 접종률'의 합계를 계산합니다. 이후 수식을 아래로 자동 채우기 합니다.

    엑셀 코로나 차트 합계

  6. 차트의 더미 데이터 레이블을 우클릭한 뒤 데이터 레이블 서식을 클릭하면 레이블 내용 항목에 [셀 값]이 있습니다. 셀 값을 선택한 후, 방금 계산한 '합계' 범위를 데이터 레이블 범위로 지정한 뒤 [확인] 버튼을 클릭합니다. 그리고 기존에 선택되어 있던 '값'과 '지시선 표시'를 체크 해제합니다.

    엑셀 차트 레이블 셀 값 설정

  7. 누적 가로막대 차트 위로 합계 레이블이 표시되었습니다.

    누적 막대 그래프 합계 표시

이제 마지막 단계로, 버튼을 클릭하면 선택한 기간의 데이터가 순차적으로 표시되는 차트 애니메이션 매크로를 추가해보겠습니다.

오빠두Tip : 피벗테이블의 기본 필터 외에 슬라이서를 추가하고 꾸미는 방법은 영상강의에서 자세히 설명해드렸습니다.
  1. 매크로 추가하기 : [개발 도구] 탭에서 [Visual Basic] 버튼을 클릭하거나 단축키 Alt + F11 키를 눌러 매크로 편집기를 실행합니다. 매크로 편집기가 실행되면 [삽입] - [모듈]을 클릭해 새로운 모듈을 추가합니다.

    매크로 모듈 삽입

    오빠두Tip : 만약 상단에 개발 도구 탭이 보이지 않을 경우 리본메뉴를 우클릭한 뒤 리본메뉴 설정에서 개발 도구 탭을 추가합니다.
  2. 추가한 모듈 안에 애니메이션 매크로 코드를 복사하여 붙여넣습니다.

    엑셀 차트 애니메이션 매크로 삽입

  3. 매크로 수정하기 : 예제파일에서 시작 날짜가 입력된 셀은 I3셀, 종료 날짜는 I4셀이므로 시작 날짜와 종료 날짜를 각각 I3, I4로 변경합니다. 그리고 피벗테이블의 필드명은 "date"로 변경합니다.

    차트 애니메이션 매크로 수정

    오빠두Tip : 코드에서 각 항목을 빠르게 더블클릭하면 해당 항목만 빠르게 선택할 수 있습니다.
  4. 버튼에 매크로 등록하기 : 이제 예제파일의 피벗 시트로 돌아온 후, 중간에 있는 '애니메이션' 버튼을 우클릭하여 [매크로 지정]으로 이동하면 방금 추가했던 "COVID19_ChartAnimation" 매크로가 보입니다. 매크로를 선택한 뒤 [확인] 버튼을 눌러 버튼에 매크로를 지정합니다.

    애니메이션 매크로 등록

  5. 이제 시작일은 2021/10/1, 종료일은 2021/10/15를 입력한 후 [애니메이션] 버튼을 클릭하면 입력한 기간의 데이터가 순차적으로 표시되는 차트 애니메이션이 실행됩니다.

    차트 애니메이션 완성GIF

댓글 12
4.9 (9개 평가)
Rulemaker
Rulemaker 2021.12.23 10:59
매번 새로운 자료 업데이트만 기다립니다.^^
이 영상은 보물같은 자료네요~~
열심히 영상 반복해서 시청해보고, 응용해서 업무에 적용해보도록 하겠습니다.
정말 감사드려요~!!!^^
강희동
강희동 2021.12.23 16:17
안녕하세요. 강의 하실때마다 따라 하고 있습니다.
피벗테이블 DATE 를 추가하면
1월1일 형식으로 표시가 되어 날자를 선택해도
데이터가 따라오지 않습니다.

필터에 추가한 DATE를 오른쪽 클릭하고 필드설정-표시형식에서 바꿔봐도 변환이 되지 않내요.
지역은 한국으로 설정되어 있고, 날자 앞에 * 표시된것으로 해도 안됩니다. 어디를 수정해야 할까요?
오빠두엑셀
오빠두엑셀 작성자 2021.12.26 09:37
강희동님 안녕하세요.
피벗테이블의 날짜 필드를 우클릭 - 그룹 해제를 클릭해보시겠어요?^^
그룹을 해제하면 yyyy-mm-dd 형태로 날짜가 표시됩니다.
허스키보이z
허스키보이z 2021.12.29 16:31
와우 멋져요
YeongTV
YeongTV 2022.01.01 21:43
오늘도 많이 배우고 갑니다~
wisehyeon
wisehyeon 2022.01.04 15:36
피벗테이블 없이 표로는 움직이는 차트 만들 순 없는 건가요?
오빠두엑셀
오빠두엑셀 작성자 2022.01.06 09:20
안녕하세요.
피벗테이블 없이 표로도 구현하실 수 있습니다.
1004sa****
1004sa**** 2022.06.04 12:15
엑셀은 정말 신세계 입니다. 그 발끝이라도 따라가고싶네요
아이언니스트
아이언니스트 2022.08.01 07:27
안녕하세요?
강의 내용으로 많은 도움을 받고 있습니다. 항상 많은 도움 주셔서 감사드립니다.
문의사항이 하나 있습니다. 애니매이션에서 다음으로 자동으로 넘어가는데 그 속도를 설정하는 방법을 알고 싶습니다.
다시한번 감사드립니다.
오빠두엑셀
오빠두엑셀 작성자 2022.08.01 15:29
안녕하세요.
For j = 1 To 50000000: j = j + 1: Next
이 부분의 숫자를 50000000 에서 더 크거나 작은 숫자로 조절해보세요.
SJ
SJ 2023.09.14 21:39
쌤이 주신 예제파일에서 차트 만들 때는 [데이터선택] 데이터 추가/삭제 편집이 가능한대요. 개인 자료를 차트로 만들었는데, [데이터선택] 추가삭제 편집이 비활성화 됩니다. 왜그런걸까요? (_ _)
강민준🤗
강민준🤗 2024.08.08 20:02
좋은 강의 감사합니다🙇‍♂️