8. VBA로 성적 관리 프로그램 만들기 1 
이제 본격적인 VBA 프로그래밍을 배워보겠습니다. 프로그래밍에 경험이 없는 분들이라도 차근차근 따라 하다 보면 쉽게 이해할 수 있을 것입니다 비쥬얼 베이직을 이용한 프로그래밍은 다음 순서를 따라서 하게됩니다.
1> VBA 프로그래밍하는 순서 엑셀에서 VBA를 이용한 프로그래밍 순서는 다음과 같은 3단계로 구분됩니다.
① 마우스로 원하는 윈도우를 그린다. (콘트롤 작성) ② 버튼, 텍스트 박스등의 속성을 지정한다. (속성 지정) ③ 연계된 사건(Event)에 대한 코드를 작성한다. (코딩) |
이 3단계를 항상 기억하고, 순서에 따라 하나씩 해결한다면 크게 어렵지 않을 것입니다.
※ 비쥬얼 베이직 기본개념 이해하기
비쥬얼 베이직은 프로그램을 만드는데 사용하는 컴퓨터 언어입니다. VBA는 이러한 비쥬얼 베이직의 특성을 각종 Application에 맞춰서 활용할 수 있는 도구입니다. 엑셀의 뛰어난 기능과 비쥬얼 베이직의 프로그래밍 능력을 합쳐놓은 것입니다. 비쥬얼 베이직을 이용해서 프로그램을 만드는 데에는 다음과 같은 기본 용어들을 알아두는 것이 좋습니다.
① 콘트롤(Control) 콘트롤은 앞에서 살펴본 단추모양이나 텍스트 박스 등을 가리키는 말입니다. 이러한 콘트롤은 윈도우 프로그램을 구성하는 기본이 되며, 엑셀에서는 이 콘트롤을 개체라는 개념으로 이해하면 됩니다. 개체는 통합 문서, 워크시트, 차트, 셀 영역과 같은 엑셀의 한 요소를 의미하는 것입니다.
② 이벤트(Event) 이벤트란 콘트롤에 대한 사용자나, 환경에 대한 반응을 말합니다. 사용자가 마우스를 클릭한다든가, 마우스를 이동한다든가 하는 모든 것들이 다 이벤트입니다. 예를들어 마우스를 클릭하면 이벤트가 발생한것이며, 이렇게 사용자가 마우스를 클릭했을때 처리하고자 하는 작업이 있다면 그 코드를 작성해주는 것입니다. 마우스를 클릭했을 때(이벤트가 발생했을 때) 어떤 어떤 일을 하라고 지시를 해주어야 하는데, 이때 필요한 것이 바로 코드입니다.(VBA 코드)
③ 메쏘드(Method:방법) 각 콘트롤들은 매우 다양한 성격을 가지고 있습니다. 따라서 이들의 기능이나 작동은 서로 다릅니다. 그리고, 이러한 콘트롤들에는 이들을 제어할 수 있는 별도의 함수들이 내장되어 있는데, 이렇게 해당 콘트롤에 대해서만 호출하여 사용할 수 있는 함수들을 메쏘드(방법)라고 합니다. 예를들어 다음은 Sheet1에 있는 셀 A1의 값을 3.14159로 설정하는 메쏘드입니다. Worksheets("Sheet1").Range("A1").Value = 3.14159
④ 속성 메쏘트처럼 각 콘트롤들은 자신에게만 적용될 수 있는 변수들이 별도로 마련되어 있는데, 이것을 속성이라고 합니다. 쉽게 말한다면, 위의 메쏘드는 콘트롤에 대한 함수이고, 속성은 그 콘트롤에 대한 변수라고 생각하면 됩니다.
예를 들어, 마우스라는 개체가 있습니다. 이 마우스라는 개체는 마우스의 X/Y좌표라든지 마우스의 속도 등 그 특성이 있습니다. 이러한 특성을 속성이라고 합니다. 그리고 마우스를 클릭하든가 이동하든가 움직이는 것을 메쏘드라고 합니다.
다음 예를 볼까요.
갑돌이.키="183" 갑돌이.몸무게="80" 갑돌이.IQ="135"
이런 코드가 있다면 여기서 갑돌이라는 개체의 키라는 속성이 180이라는 값을 가진다는 의미가 됩니다.
갑순이.키="163" 갑순이.몸무게="53" 갑순이.IQ="90"
이 코드 역시 갑순이라는 개체의 키라는 속성이 153이라는 값을 가진다는 의미입니다. 여기에서 갑돌이나 갑순이라는 개체에 똑 같은 "키"라는 속성이 있는데 그 의미는 틀린 것입니다. 이렇듯 같은 속성이라도 어떤 개체에 속하느냐에 따라 그 의미가 달라지는 것입니다.
그리고 갑돌이.몸무게에서 가운데 있는 점은 일종의 연산자입니다. 이 연산자의 왼쪽이 개체이고, 오른쪽이 속성이나 방법으로 정의됩니다.
2> 자동 성적 관리 프로그램 만들기
지금부터 만들 프로그램은 대화상자로 성적을 입력하면, 자동으로 시트에 점수와 수준을 평가하는 프로그램입니다.

VBA 프로그래밍 순서에 맞춰서 하나씩 만들어보겠습니다.
2-1> 1 단계 - 컨트롤(Control) 작성하기
① 새로만들기 버튼을 클릭해서 새 통합문서를 만듭니다.
② 첫 번째 작업은 대화상자와 각종 컨트롤을 만드는 것입니다. 시트탭에서 마우스 오른쪽을 클리한 후 단축메뉴가 나타나면 "삽입"을 선택합니다.

③ 시트 삽입대화상자가 나타납니다. 대화상자를 만들 수 있는 "MS Excel 5.0 Dialog"를 선택한 후 [확인]을 클릭합니다.

④ Dialog 1이라는 시트가 삽입되었습니다. 이 시트는 VBA와 연계시키기 위한 대화상자를 만드는데 사용됩니다. 시트가 만들어 졌으면 시트 이름을 "대화상자"로 변경합니다.

⑤ 이제 대화상자의 컨트롤을 만들어야 합니다. 컨트롤은 "양식" 도구모음을 이용해서 만들게 됩니다. 다음 그림처럼 양식을 만듭니다.

⑥ 다음으로 각 컨트롤에 이름을 정의합니다. 컨트롤을 선택한 다음 이름상자에서 이름을 입력하고 키를 칩니다.

다음 그림은 각 컨트롤에 지정된 이름을 보여줍니다.

여기까지 잘 따라 오셨죠? 그럼 50%는 끝났습니다. 너무 어렵게 생각하지 마시고 계속 해보자구요! 지가 어려워봤자 컴퓨터밖에 더 되겠어요?
이전(VBA로 나만의 함수 만들기) | 다음(VBA로 성적 관리 프로그램 만들기 2) |