본문 바로가기
IT/Excel VBA

Excel VBA_02 VBA 코드입력+Hello World 출력

by 양말씨 2020. 6. 14.

지난번 포스팅에 이어서 이번에는 실제 VBA 코드를 입력하고 엑셀 파일 상의 버튼을 넣어서 특정한 문구(Hello World!)를 대화상자로 출력해보는 내용을 다뤄보겠습니다. 

 

일단 엑셀을 실행해야겠죠. 

실행하면 메뉴 중에 지난 포스팅에서 추가한 "개발 도구" 메뉴 탭이 보이실 겁니다.

개발 도구 메뉴 탭에는 아래 그림과 같은 메뉴 및 기능들이 있는데요, 그 중에 "삽입"을 클릭한 뒤 아래 나오는 컨트롤 중 표시된 버튼을 클릭해줍니다.    

개발 도구 메뉴 삽입을 클릭한 뒤 버튼 모양을 클릭합니다.

그러면 마우스 커서가 + 모양으로 바뀌면서 엑셀의 원하는 영역에 드래그할 수 있게 바뀌는 걸 보실 수 있을 겁니다. 

엑셀 영역 중 본인이 원하는 곳에 드래그를 함으로써 버튼을 만들 수 있도록 해주는 것인데요. 

아래 보이는 사각형이 버튼이 만들어질 영역입니다.

드래그한 마우스 왼쪽 버튼을 떼자마자 아래와 같은 창이 보이실 겁니다.

지금 만든 버튼(단추5)를 클릭하면 무엇을 할 지를 지정할 매크로 지정 창입니다.

위 창은 바로 매크로 지정 창이구요, 그림의 설명에도 나와있듯이 우리가 지금 만든 버튼을 엑셀에서 클릭하면 어떤 일을 할지를 VBA 소스코드를 통해서 지정해주도록 하는 일종의 VBA 마법사 내지는 설정 창이 되겠습니다. 

위 창에서 새로 만들기를 클릭해주세요. 

 

그러면 아래와 같은 VBA 소스 편집 창이 보이실 겁니다. 

VBA 소스 코드 편집 화면입니다.

위와 같은 VBA 편집창에서 앞으로 많은 작업을 할 수 있을텐데요, 위 화면은 일반 엑셀 화면에서 단축키인 Alt+F11을 눌러서도 바로 표시하실 수 있습니다. 

 

위의 화면에서도 보이시겠지만 간단한 소스코드 한 줄을 입력해볼게요. 

Sub 단추5_Click() 
    MsgBox "Hello World!" 
End Sub

사실, Sub 단추5_Click()과 밑의 End Sub는 이미 입력되어 있을 겁니다.

그래서 실제로 입력해주실 부분은 MsgBox "Hello World!" 요 한 줄 밖에 없습니다 :) 

위의 코드 내용을 입력해주셨다면 파일을 저장해주시면 됩니다 역시 단축키인 Ctrl + S를 누르시거나, 아래에서 보이시는 저장(디스크 모양) 아이콘을 클릭해주시면 됩니다. 

저장 버튼입니다.

그러면 아래 그림처럼 다른 이름으로 저장하기 창이 나올 건데요, 파일을 저장할 위치와, 파일 이름, 파일 형식을 지정해줍니다. 여기서 아래 그림처럼 파일 형식을 Excel 매크로 사용 통합 문서(.xlsm) 으로 지정해주세요. 

파일 저장하기 .xlsm 형식으로 저장해주세요.

혹시나 일반 Excel 통합 문서를 선택해서 저장하셨다면 아래와 같은 경고 메시지를 보실 수 있을 겁니다. 

어찌됐건 매크로 사용 통합 문서(.xlsm)으로 파일을 저장한 다음, 아래와 같이 VBA 편집 창으로 다시 돌아오셨다면 과감히 우측 상단의 X버튼을 눌러 창을 꺼주시면 됩니다.

 

그러면 다시 아래 그림과 같이 원래의 Excel 화면으로 돌아오게 됩니다. 파일명일 Hello World로 바뀌어있고, 처음에 마우스로 드래그 했던 영역에 큼지막한 단추 1, 버튼이 생겼네요 :) 

HelloWorld 파일이 단추1 버튼과 함께 생성되었습니다.

조심스레 단추 1 버튼을 클릭해보면, 

Hello World!

위와 같이 Hello World!라는 정해진 문자열이 작은 대화상자 형식으로 따로 출력이 됩니다.

이 문자열은 위에서 우리가 VBA 편집창에서 정해준 그 문자열이구요. VBA에서 그 내용을 변경하면 당연히 위의 대화상자에 찍히는 내용도 그에 따라 달라지겠죠 :) 

 

문자열이라 함은 하나 이상의 문자들의 배열을 의미합니다. 여기서의 문자는 알파벳도 되고 한글도 되는 것이고요. 보통 VBA에서는 String이라는 변수로 정의됩니다. 나중에 VBA의 변수와 그 타입을 다룰 때 다시 한 번 말씀을 드릴게요. 

 

오늘은 어쨌든 이 MsgBox라는 함수가 메인입니다. MsgBox는 주로 따옴표(" ") 안에 있는 문자열을 위와 같이 그대로 대화 상자로 출력해주는 일을 하는 함수입니다. MsgBox도 여러 가지로 사용될 수 있는 것이, 문자열을 위와 같이 고정된 문자열로 출력할 수도 있고 때로는 String 변수를 출력하게 하여 그 값이 매번 변하게 할 수도 있으며, 단순히 확인 버튼만이 아니고 "확인"과 "취소" 버튼을 둘 다 넣을 수도 있으며, 확인/취소에 따라 다른 행동을 취하게 할 수도 있습니다. 

 

이 부분에 대해서는 또 다음 포스팅에서 자세하게 다뤄 보겠구요. 일단 오늘은 HelloWorld.xlsm을 저장하고 포스팅을 마치도록 하겠습니다. 

 

감사합니다. :)  

 

반응형

'IT > Excel VBA' 카테고리의 다른 글

Excel VBA_03 변수와 주석에 대해  (3) 2020.06.24
Excel VBA_01 Excel VBA 시작하기  (0) 2020.06.12