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

엑셀 VBA 도형 애니메이션 :: 움직이는 평창올림픽 로고 만들기

엑셀 VBA를 사용하여 평창올림픽 애니메이션 로고를 제작합니다.

# VBA

작성자 :
오빠두엑셀
최종 수정일 : 2021. 11. 10. 03:05
URL 복사
메모 남기기 : (38)

엑셀 VBA 매크로를 사용한 평창올림픽 로고 애니메이션 만들기

엑셀 VBA 애니메이션 만들기 목차 바로가기
강의 요약

평창올림픽 개막식을 맞아, 새로운 VBA 강의를 준비했습니다. 이번강의에서는 2018 평창올림픽의 성공을 기원하며, 엑셀 VBA로 평창올림픽 로고 애니메이션을 제작합니다.

평창 올림픽 로고 애니메이션 매크로 gif
이번 강의에서는 엑셀 VBA로 평창올림픽 로고 애니메이션을 제작합니다.

엑셀 VBA의 첫번째 강의로, VBA를 처음 접하시는 초보자도 복사/붙여넣기만으로 쉽게 따라할 수 있도록 강의를 준비하였습니다. 내용을 이해하기 보단, 'VBA로 이러한 기능도 구현 할 수 있구나'라는 정도로 이해하고 간단하게 짚고 넘어가보겠습니다.

영상강의


예제파일 다운로드

오빠두엑셀의 강의 예제파일은 여러분을 위해 자유롭게 제공하고 있습니다.

  • [VBA기초강의] 평창 올림픽 로고 애니메이션
    예제파일

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

  1. 예제파일을 처음 실행하면 상단에 '콘텐츠사용' 버튼이 나옵니다. 버튼을 클릭하여 매크로를 활성화합니다.

    콘텐츠 사용 버튼 활성화
    상단의 '콘텐츠 사용' 버튼을 클릭하여 매크로를 활성화합니다.
  2. 성화이미지를 우클릭 한 뒤, '매크로 지정'으로 이동합니다.

    VBA 애니메이션 매크로 지정
    성화 이미지를 우클릭 한 뒤, '매크로 지정'을 클릭합니다
  3. 매크로 목록 중 'Torch_Macro'를 선택한 뒤, '확인'을 눌러 이미지에 매크로 입히는 작업을 마무리합니다.

    Tourch Click 매크로 입히기
    매크로 목록 중 Touch_Click 를 선택한 뒤, '확인'을 눌러 마무리합니다.

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

  1. 개발도구 - Visual Basic을 클릭하거나 키보드 Alt + F11 키를 눌러 매크로 편집기로 이동합니다.

    매크로 편집기 이동
    매크로 편집기로 이동합니다.
  2. 좌측 Btn_Action 모듈을 더블클릭합니다.

    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'로 변경합니다.

    텍스트 상자 이름 변경
    텍스트상자의 이름을 '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