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

평창올림픽 로고 애니메이션

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

엑셀 VBA, 움직이는 도형으로 애니메이션을?! - 평창올림픽 로고 만들기

이 강의에서는 엑셀 VBA로 도형을 클릭하면 그림이 움직이는 평창올림픽 로고 애니메이션을 제작하는 방법을 다룹니다. VBA를 처음 접하는 입문자도 제공된 코드를 복사·붙여넣기만으로 동일한 결과를 만들 수 있도록 단계별로 안내하며, 매크로 지정·코드 편집기 활용·텍스트 상자 연동까지 VBA의 기본 흐름을 자연스럽게 익힐 수 있습니다.

평창올림픽 로고 애니메이션
DOWNLOADS

실습자료를 준비했어요

수업에서 사용한 예제 파일과 보충 자료를 한 곳에 정리했습니다!👇

강의 요약

2018 평창동계올림픽 개막을 기념하여 새로운 VBA 강의를 준비했습니다. 이번 강의에서는 평창올림픽의 성공적인 개최를 기원하며, 엑셀 VBA로 평창올림픽 로고 애니메이션을 직접 제작해봅니다.

평창 올림픽 로고 애니메이션 매크로 gif

엑셀 VBA의 첫 번째 강의로, VBA를 처음 접하는 초보자도 코드를 복사·붙여넣기만으로 손쉽게 따라 할 수 있도록 강의를 구성했습니다. 모든 코드를 완벽히 이해하기보다는, 'VBA로 이런 기능도 구현할 수 있구나' 하는 정도로 가볍게 살펴보며 VBA의 가능성을 체험해보세요.

1. 이미지에 매크로 입히기

  1. 예제파일을 처음 열면 상단에 '콘텐츠 사용' 버튼이 표시됩니다. 해당 버튼을 클릭하여 매크로 기능을 활성화합니다.콘텐츠 사용 버튼 활성화
  2. 성화 이미지를 마우스 우클릭한 뒤 '매크로 지정' 메뉴로 이동합니다.VBA 애니메이션 매크로 지정
  3. 매크로 목록에서 'Torch_Macro'를 선택한 뒤 '확인' 버튼을 눌러 성화 이미지에 매크로를 연결합니다.Tourch Click 매크로 입히기

2. 매크로 편집기에 코드 추가하기

  1. '개발도구' 탭에서 'Visual Basic'을 클릭하거나 단축키 Alt + F11을 눌러 매크로 편집기로 이동합니다.매크로 편집기 이동
  2. 좌측 프로젝트 탐색기에서 Btn_Action 모듈을 더블클릭하여 코드 창을 엽니다.Btn Action 모듈 클릭
  3. 아래 코드를 복사한 뒤 기존 Torch_Click 프로시저의 내용을 다음과 같이 변경합니다.
    Sub Torch_Click()
     
    Dim WB As Workbook
    Dim WS As Worksheet
     
    Set WB = ThisWorkbook
    Set WS = WB.Worksheets("Sheet1")
     
    With WS.Shapes("TextBox").TextFrame2.TextRange
    	.Text = ""
            HappyOlympic
    	.Text = "평창올림픽 성공기원"
    End With
     
    End Sub
  4. '삽입' 탭으로 이동한 뒤 '텍스트 상자' - '가로 텍스트 상자'를 추가합니다.가로 텍스트 상자 클릭
  5. 추가한 텍스트 상자를 선택한 뒤, 이름 상자에서 이름을 'TextBox'로 변경합니다.텍스트 상자 이름 변경

3. 매크로 동작 확인하기

이제 평창올림픽 로고 애니메이션 매크로가 모두 완성되었습니다. 로고를 원하는 위치로 이동한 뒤 성화 이미지를 클릭하면, 올림픽 로고 애니메이션이 동작합니다.
평창 올림픽 로고 애니메이션 매크로 gif

댓글 38
4.9 (29개 평가)
서녘별
서녘별 2020.02.23 18:18
강의 잘 봤습니다. 강의 내용 중 매크로 내용 중에 WS.Shapes("TextBox").TextFrame2.TextRange.Text = ""이 부분이 계속 error가 나온다고 하는데 뭐가 잘못되었는지 잘 모르겠습니다. 알려 주시면감 하겠습니다.
오빠두엑셀
오빠두엑셀 작성자 2020.02.29 11:55
안녕하세요?^-^

ws.Shapes("textbox").TextFrame2.TextRange.Text = ""
에서 오류가 발생할 경우, 도형의 이름이 'textbox'로 설정되어 있는지 확인해보시겠어요?^^
만약 다른이름, (예: textbox1, 텍스트박스) 등으로 설정되어 있을경우,
Shapes("textbox") 이부분에 값을 변경해주셔야 합니다 ^^
제 답변이 도움이 되셨길 바랍니다.^-^
감사합니다.
서녘별
서녘별 2020.02.23 18:36
강의 잘 들었습니다. 강의 내용대로
Sub Torch_Click()

Dim wb As Workbook
Dim ws As Worksheet

Set wb = ThisWorkbook
Set ws = wb.Worksheets("sheet1")

ws.Shapes("textbox").TextFrame2.TextRange.Text = ""

HappyOlympic

End Sub

이렇게 작성 했는데 자꾸 오류가 나네요. 함 봐주시기를 부탁드립니다.
오빠두엑셀
오빠두엑셀 작성자 2020.02.29 11:54
안녕하세요~^^
작성하신 코드에는 문제가 없어보입니다.
아래 내용을 추가로 알려주시겠어요?

1. 어떤 Runtime 오류가 발생하시나요? 번호를 적어주시겠어요?
2. 어디에서 오류가 발생하시나요?
3. 사용중인 엑셀 버전이 어떻게 되시나요?

감사합니다 ^^~
노수련
노수련 2020.03.29 20:26
언젠가는 VBA를 할 수 있기를..ㅠㅠㅠ
해봐
해봐 2020.04.01 15:24
안녕하세요 VBA 생초보입니다..
오빠두 영상을 통해 VBa를 배워볼려 하는데 어느 영상부터 봐야할지 모르겠네요..
이번 화도 VBA 명령문에 대한 설명이 없어서요.. 어떤 영상부터 봐야할까요?
어떻게 공부하면 효율적으로 공부할 수 있을까요?
오빠두엑셀
오빠두엑셀 작성자 2020.04.02 13:27
안녕하세요?^^
VBA 기초 입문 강의 --> 퀵 VBA 강의 순서로 직접 따라해보면서 연습하시면 금방 VBA에 대해 이해할 수 있으실 겁니다.
기초입문은 다소 이론적인 내용이며, 퀵 VBA 강의에서는 각 명령문에 대한 설명을 자세히 해 드렸습니다 ^^
제 답변이 도움이 되셨길 바랍니다.
감사합니다.
0ugi
0ugi 2020.04.16 11:07
강의 감사합니다!
본문 1-2 Torch_Click 매크로가 Torch_Macro 로 오기재되어있습니다~^^
0ugi
0ugi 2020.04.16 11:24
(기존 댓글이 수정이 되지않아 댓글로 수정내용 올립니다!)

강의 감사합니다!

1. 본문 1-2 Torch_Click 매크로가 Torch_Macro 로 오기재되어있습니다~^^
2. 본문의 Torch_Click 매크로 코드 중 With구문인
With WS.Shapes("TextBox").TextFrame2.TextRange
.Text = "" HappyOlympic
.Text = "평창올림픽 성공기원"
End With
에서 HappyOlympic 이 개행되지 않아 에러가 발생합니다.
superlynx
superlynx 2020.08.20 00:16
강의 잘봤습니다. 엑셀 얼른 잘하고 싶네용
사랑의신
사랑의신 2020.10.10 19:53
비디오에는 With 랑 End With 문이랑 없는데
Sub Torch_Click()
Dim WB As Workbook
Dim WS As Worksheet

Set WB = ThisWorkbook
Set WS = WB.Worksheets("Sheet1")

WS.Shapes("TextBox").TextFrame2.TextRange.Text = ""

  HappyOlympic
WS.Shapes("TextBox").TextFrame2.TextRange.Text = "Congrats!!!"


End Sub

이렇게 하면 실행이 되고,
With 랑 End With를 넣은 예제에 있는 대로 하려면

Sub Torch_Click()
 
Dim WB As Workbook
Dim WS As Worksheet
 
Set WB = ThisWorkbook
Set WS = WB.Worksheets("Sheet1")
 
With WS.Shapes("TextBox").TextFrame2.TextRange
  .Text = ""
    HappyOlympic
  .Text = "Congrats"
End With
 
End Sub

이렇게 하면 실행이 되네요. 무슨 차이이죠?
사랑의신
사랑의신 2020.10.10 19:57
Sub Torch_Click()
 
Dim WB As Workbook
Dim WS As Worksheet
 
Set WB = ThisWorkbook
Set WS = WB.Worksheets("Sheet1")
 
With WS.Shapes("TextBox").TextFrame2.TextRange
  .Text = ""
End With
    HappyOlympic
With WS.Shapes("TextBox").TextFrame2.TextRange
  .Text = "Congrats"
End With
 
End Sub

이렇게 End With를 한번 더 써주어야 에러가 안생기네요. 무슨 차이인지는 아직 잘 모르겠네요. ㅎㅎㅎ
hope
hope 2020.11.19 09:12
저도 vba 능숙하게 다룰 수 있기를 바라며 열심히 공부하겠습니다!
백파
백파 2020.11.22 17:45
강의 잘 보았습니다, 잘 사용하겠습니다
옛꼬망
옛꼬망 2020.12.01 00:35

강의 수강완료!! 20.12.01