본문 바로가기

엑셀/VBA

VBA 사용자 정의 폼을 사용하여 원하는 폼 만들어보기

반응형

VBA에서 함수를 이용하여 메시지 창 등을 사용하면 대화 상자를 쉽게 만들 수 있습니다. 하지만 이렇게 만든 대화 상자는 획일적인 모양이 되기 때문에 사용자 마음에 들지 않을 수도 있습니다. 내가 원하는 디자인으로 창을 꾸미길 원하는 경우 사용자 정의 폼을 이용하여 나만의 디자인으로 꾸미는 것입니다.

                                       

1. 사용자 정의 폼 열기

먼저 VBA를 사용하기 위해서는 개발도구 메뉴를 클릭하여 Visual Basic 편집기를 열어야 합니다. 개발도구 메뉴가 보이지 않으시면 이전 글인 엑셀 매크로 저장 및 사용하기 I를 참조하시기 바랍니다.

개발도구 메뉴를 클릭하시고 Visual Basic 아이콘을 클릭합니다. 이전글 엑셀에서 VBA 프로그램 작성하기를 참조하시어 Visual Basic 편집기를 엽니다.

 

 

 

 

Visual Basic 편집기 창에서 삽입메뉴를 클릭하시고 사용자 정의 폼을 선택합니다.

 

삽입메뉴_모습
[그림 1] 삽입메뉴

 

사용자_정의_폼과_도구상자
[그림 2] 사용자 정의 폼

[그림 1]은 삽입 메뉴를 클릭했을 때 모습이고 [그림 2]는 사용자 정의 폼을 클릭했을 때 화면에 띄어지는 창 모습입니다.

[그림 2]에서 UserForm1이라는 이름의 창이 사용자 정의 폼 모습입니다.

UserForm1창을 선택한 상태에서 전체창 좌측 아래를 보시면 속성 창이 보입니다. 이곳은 선택된 창의 속성을 정할 수 있는 곳입니다. 또한 [그림 2]에서 우측에 보이시는 도구 상자를 이용하여 사용자 정의 폼을 꾸밀 수 있습니다.

 

2. 사용자 정의 폼 꾸며보기

인터넷에서 사이트에 로그인할때 많이 보시는 로그인 창을 한번 꾸며보겠습니다.

레이블_아이콘
[그림 3] 도구상자_레이블

[그림 3]에서 빨간색 사각형으로 표시한 아이콘이 레이블입니다. 레이블은 창에서 글을 표시할 때 사용합니다. 로그인 창에서 ID비밀번호라는 글을 표시하기 위해 레이블 아이콘을 마우스 좌클릭합니다.

그 상태에서 UserForm1창에서 원하는 위치에 원하는 크기로 마우스 드래그하여 레이블을 만듭니다.

 

레이블_생성
[그림 4] 레이블

[그림 4]와 같이 레이블을 만든 후 마우스로 레이블을 한 번 클릭하면 글자를 변경할 수 있습니다. 

'ID            :'이라고 입력합니다. 같은 방식으로 도구 상자에서 레이블을 클릭하여 하나 더 만들 수 있지만 아이디 레이블과 같은 크기를 맞추기 위해 'ID            :'입력한 레이블을 클릭하고 Ctrl + C 한 후 Ctrl + V를 하여 복사 붙여 넣기 합니다. 그러면 같은 크기의 레이블이 생성됩니다. 새로 만든 레이블을 아이디 레이블 아래에 드래그하여 이동시키고 마우스 좌 클릭한 후 '비밀번호  :'라고 입력합니다.

레이블_2개_생성
[그림 5] ID와 비밀번호 레이블 생성

[그림 5]와 같이 레이블 두 개를 생성했습니다. 이제 각 레이블 우측에 텍스트 상자를 만들어 줍니다.

 

텍스트상자_아이콘
[그림 6] 도구상자_텍스트상자

[그림 6]에서 빨간색 사각형으로 표시한 아이콘이 텍스트 상자 아이콘입니다. 텍스트 상자 아이콘을 클릭하여 ID 레이블 오른쪽 위치로 마우스 이동하신 후 드래그하여 텍스트 상자를 만듭니다. 그리고, 복사 붙여 넣기로 하나를 더 만들어 비밀번호 레이블 옆에 이동시킵니다.

텍스트상자_생성
[그림 7] 텍스트 상자 생성

 

 

 

이제 버튼 두 개를 만들 차례입니다. 버튼은 [그림 8]에 빨간색 사각형으로 표시한 아이콘입니다.

버튼_아이콘
[그림 8] 버튼 아이콘_명령단추

아이콘 위에 마우스를 이동시키면 명령 단추라는 설명이 뜹니다. 아이콘을 클릭하고 버튼을 만듭니다. 그리고, 버튼 이름을 '확인'이라 정하고 복사 붙여 넣기로 버튼 하나를 더 만드신 후 '취소'로 글자를 바꿉니다.

 

로그인_창_꾸미기완성
[그림 9] 로그인 창

[그림 9]와 같이 로그인 창 디자인이 완성되었습니다. 이제 창 이름을 '로그인'이라고 바꾸기 위해 속성 창에서 이름을 바꿔줍니다.

사용자_정의_폼_속성
[그림 10] 사용자 정의 폼 속성

[그림 10]에서 빨간색 사각형으로 표시된 부분을 마우스 클릭하고 '로그인'이라고 입력합니다. 그리고 아래를 보시면 Caption이 보이시는데 우측 사각형에 동일하게 '로그인'을 입력합니다. 그러면 로그인 창의 이름이 바뀌는 것을 보실 수 있습니다.

Caption의 로그인은 창의 이름 표시를 의미하는 것이고 '(이름)'에서의 로그인은 로그인 창 이름을 정하는 것인데 정한 이름은 VBA 프로그래밍 중 로그인 창을 지칭하려 할 때 사용하는 이름입니다.

반응형