엑셀 VBA 매크로를 사용한 평창올림픽 로고 애니메이션 만들기
엑셀 VBA 애니메이션 만들기 목차 바로가기
강의 요약
평창올림픽 개막식을 맞아, 새로운 VBA 강의를 준비했습니다. 이번강의에서는 2018 평창올림픽의 성공을 기원하며, 엑셀 VBA로 평창올림픽 로고 애니메이션을 제작합니다.

엑셀 VBA의 첫번째 강의로, VBA를 처음 접하시는 초보자도 복사/붙여넣기만으로 쉽게 따라할 수 있도록 강의를 준비하였습니다. 내용을 이해하기 보단, 'VBA로 이러한 기능도 구현 할 수 있구나'라는 정도로 이해하고 간단하게 짚고 넘어가보겠습니다.
영상강의
예제파일 다운로드
오빠두엑셀의 강의 예제파일은 여러분을 위해 자유롭게 제공하고 있습니다.
- [VBA기초강의] 평창 올림픽 로고 애니메이션예제파일
1. 이미지에 매크로 입히기
- 예제파일을 처음 실행하면 상단에 '콘텐츠사용' 버튼이 나옵니다. 버튼을 클릭하여 매크로를 활성화합니다.

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

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

매크로 목록 중 Touch_Click 를 선택한 뒤, '확인'을 눌러 마무리합니다.
2. 매크로 편집기에 코드 추가하기
- 개발도구 - Visual Basic을 클릭하거나 키보드 Alt + F11 키를 눌러 매크로 편집기로 이동합니다.

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

프로젝트 창에서 Btn_Action 모듈을 더블클릭합니다. - 아래 코드를 복사한 뒤, 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
- '삽입' - '텍스트상자' - '가로텍스트상자'를 추가합니다.

가로 텍스트 상자를 추가합니다. - 추가한 텍스트상자의 이름을 'TextBox'로 변경합니다.

텍스트상자의 이름을 'TextBox'로 변경합니다.
3. 매크로 동작 확인하기
평창 올림픽 로고 애니메이션 매크로가 완성되었습니다. 이제 로고를 원하는 위치로 이동한 뒤, 성화를 클릭하면 올림픽로고 애니메이션이 동작합니다.

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

ws.Shapes("textbox").TextFrame2.TextRange.Text = ""
에서 오류가 발생할 경우, 도형의 이름이 'textbox'로 설정되어 있는지 확인해보시겠어요?^^
만약 다른이름, (예: textbox1, 텍스트박스) 등으로 설정되어 있을경우,
Shapes("textbox") 이부분에 값을 변경해주셔야 합니다 ^^
제 답변이 도움이 되셨길 바랍니다.^-^
감사합니다.
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
이렇게 작성 했는데 자꾸 오류가 나네요. 함 봐주시기를 부탁드립니다.
작성하신 코드에는 문제가 없어보입니다.
아래 내용을 추가로 알려주시겠어요?
1. 어떤 Runtime 오류가 발생하시나요? 번호를 적어주시겠어요?
2. 어디에서 오류가 발생하시나요?
3. 사용중인 엑셀 버전이 어떻게 되시나요?
감사합니다 ^^~
오빠두 영상을 통해 VBa를 배워볼려 하는데 어느 영상부터 봐야할지 모르겠네요..
이번 화도 VBA 명령문에 대한 설명이 없어서요.. 어떤 영상부터 봐야할까요?
어떻게 공부하면 효율적으로 공부할 수 있을까요?
VBA 기초 입문 강의 --> 퀵 VBA 강의 순서로 직접 따라해보면서 연습하시면 금방 VBA에 대해 이해할 수 있으실 겁니다.
기초입문은 다소 이론적인 내용이며, 퀵 VBA 강의에서는 각 명령문에 대한 설명을 자세히 해 드렸습니다 ^^
제 답변이 도움이 되셨길 바랍니다.
감사합니다.
본문 1-2 Torch_Click 매크로가 Torch_Macro 로 오기재되어있습니다~^^
강의 감사합니다!
1. 본문 1-2 Torch_Click 매크로가 Torch_Macro 로 오기재되어있습니다~^^
2. 본문의 Torch_Click 매크로 코드 중 With구문인
With WS.Shapes("TextBox").TextFrame2.TextRange
.Text = "" HappyOlympic
.Text = "평창올림픽 성공기원"
End With
에서 HappyOlympic 이 개행되지 않아 에러가 발생합니다.
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
이렇게 하면 실행이 되네요. 무슨 차이이죠?
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를 한번 더 써주어야 에러가 안생기네요. 무슨 차이인지는 아직 잘 모르겠네요. ㅎㅎㅎ
강의 수강완료!! 20.12.01