[VBA 제 42강] UserForm 사용하기_4 썸네일 이미지
[VBA 제 42강] UserForm 사용하기_4
콘텐츠 타입 MS 오피스 엑셀 2003(2007, 2010가능), Windows XP 이상
용량0KB
조회2,049
즐겨찾기
[VBA 제 42강] UserForm 사용하기_4를 즐겨찾기 한 횟수는 0 0입니다.
이용등급 유료 (회원권 or 단품 구매)
제품 상세정보

 




[ 기초 강좌 ]

 

제 42 강

  UserForm 사용하기_4

 

  UserForm

그 사용법을 알아봅니다.

이럴 때 필요해요

 

UserForm 사용법을 알아봅시다.

이렇게 사용해요

일단, 오른 쪽의 버튼을 눌러서 오늘 만들어 볼 프로그램을 살펴보고 오시기 바랍니다.








먼저, 오늘 등장한 인물들을 소개합니다 (아래의 그림을 참조하시기 바랍니다.)




이번 시간에 소개해 드리는 사용자정의 폼의 이벤트 핸들러 프로시저는 의외로 매우 간단합니다.


즉, [optOK] 이라는 버튼을 눌렀을 때 실행되는 프로시저(optOK_Click)와  [optCancel] 이라는 버튼을 눌렀을 때 실행되는

프로시저(optCancel_Click) 두 개의 이벤트 핸들러 프로시저로 구성되어 있습니다만, optCancel_Click 이라는 프로시저의구문,

즉 Unload Me 라는 명령어에 대해서는 이전 시간에 설명드렸으므로, 생략하기로 하고

optOK_Click 이라는 이벤트 핸들러 프로시저, 즉 사용자가 텍스트박스에 이름을 입력하고 3개의 [옵션 단추] 중에서 하나의

성별에 체크한 다음, [입력]이라는 버튼을 눌렀을 때 실행될 프로시저의 내용에 대해서만 간략하게 설명드리겠습니다.

 

 Private Sub optOK_Click( )

    Dim intRow As Integer

 intRow = Cells(65536, 2).End(xlUp).Row + 1

    Cells(intRow, 2) = txtName.Text

 

먼저,  intRow 라는 정수형(Integer) 변수를 선언해 주신 다음

Cells(65536, 2), 즉 B65536 셀(B열에서의 끝 행에 해당하는 셀)에서 Ctrl+↑ 키를 눌러선택되는 셀, 

즉 B열에서 값이 있는 영역의 맨 마지막 셀의 행값(Row)에 1을 더한 수로정의해 주고

(참고로, 계속해서 특정 열에서 값이 있는 맨 마지막 셀의 다음 셀에 특정한값을 입력하고자 할 경우 이와 같은 방법을 사용합니다.)

Cells(intRow, 2)의 셀, 즉 B열에서 값이 있는 영역의 맨 마지막 셀의 바로 아래 셀에

txtName 라는 이름의 TextBox에 입력된 값을 구현합니다.

 

  If optMale Then

      Cells(intRow, 3) = "남성"

  ElseIf optFemale Then

      Cells(intRow, 3) = "여성"

  Else

     Cells(intRow, 3) = "미상"

   End If

      

 

위 내용은 사용자정의 폼에 포함된 3개(optMale, optFemale, optUnknown)의 [옵션 단추]

즉, "남성" 또는 "여성" 및 "미상" 등의 Caption으로 구분되는 OptionButton 중에서 체크되어

있을 경우, 각 OptionButton에 해당하는 값("남성" 또는 "여성" 및 "미상" 등)을 If 조건문으로

할당해 주고, 그 값(체크되어 있는 OptionButton에 할당된 값)을 C열에서 값이 있는 영역의

맨 마지막 셀의 바로 아래 셀, 즉 Cells(intRow, 3) 에 구현합니다.

참고로, 위에서 사용된 If 조건문 즉, "If optMale Then" 은  "If optMale = True Then" 으로

해 주어야 할 것을 축약해서 사용한 것임을 양지하시기 바랍니다.

 

       txtName.Text = ""

       optUnknown = True

       txtName.SetFocus

   End Sub

 

이렇게 해서 성명과 성별의 입력이 완료되고 나면, 계속 입력을 위해 txtName 라는 이름의

TextBox에 입력된 값을 지우고(txtName.Text = ""), 또한 optUnknown 이라는 [옵션 단추] 를

체크상태로 나타 내며(optUnknown = True), 아울러 마우스의 포커스(Focus)를 txtName라는

TextBox에 위치하게 합니다.(txtName.SetFocus)

즉, 사용자정의 폼의 각 콘트롤을 초기화 합니다. 그런다음

optOK 라는 [명령 단추]를 눌렀을 때, 실행하게 되는 모든 작업을 종료합니다.(End Sub)

 

저작권정보
1. 콘텐츠의 저작권은 쿠키(www.coukey.co.kr)에 있으며, 사용권한은 1인 1카피입니다.
2. 다운로드 받은 콘텐츠는 본인(본인회사)만 사용할 수 있습니다.
3. 다른 사람과 공유하거나 원본 또는 수정 후 무단전제,무단배포,무단판매,무단 공유할 수 없습니다.
4. 웹상에서 배포는 상업,비상업적 목적을 불문하고, 손해배상등 가중처벌됩니다.
[VBA 제 42강] UserForm 사용하기_4
이용후기

업무자동화 맞춤제작

고객님의 상황에 100% 맞춘 콘텐츠 제작 전문 서비스를 이용해 보세요.
프리미엄 무료 이벤트 중