책 내용 질문하기
프로시저
도서
[2012] 컴퓨터활용능력 1급 실기(엑셀, 액세스 2007 사용자용)
페이지
478
조회수
104
작성일
2012-07-24
작성자
첨부파일

실전모의고사 마지막 프로시저를 풀다가, 1번 문제 과 vba 2<입력>버튼 클릭 프로시저 부분에서

책에는 답이

Private Sub UserForm_Click()
lst신상목록.RowSource = "F4:G8"
등급.AddItem = "정회원"
등급.AddItem = "준회원"
End Sub

인데 왜 UserForm_Click() 부분에 들어가는거죠?

lst신상목록은 lst신상목록_Click() , 등급은
Private Sub 등급_Change() 부분에 들어가면 안되나요?
문제에 초기화라는 말이 없는데, 왜 UserForm_Click() 부분에 들어가는지 잘 모르겠어요.

매크로 차단 때문인지 개발도구에 디자인모드가 클릭이 안되서 작업을 다 해도 맞게 했는지 확인을 못하고 있거든요?, 앞에서 공부할때는 UserForm_Click() 이 자동으로 나온다고 해서 나오는것도 있던데 문제가 다양하고 해서 잘 모르겠어요 저는 이문제에서 UserForm_Click() 부분이 자동으로 안나왔거든요..


Private Sub 입력_Click()
참조행 = list신상목록.ListIndex
입력행 = [a3].Row + [a3].CurrentRegion.Rows.Count
Cells(입력행, 1) = lst신상목록.Lst(참조행, 0)
Cells(입력행, 2) = lst신상목록.Lst(참조행, 1)
Cells(입력행, 3) = 전화번호
Cells(입력행, 4) = 등급
End Sub

이렇게 되어있거든요 그런데, 회원관리 폼에보면 전화번호는 텍스트박스 등급은cmb 인데

Private Sub 입력_Click()
참조행 = list신상목록.ListIndex
입력행 = [a3].Row + [a3].CurrentRegion.Rows.Count
Cells(입력행, 1) = lst신상목록.Lst(참조행, 0)
Cells(입력행, 2) = lst신상목록.Lst(참조행, 1)
Cells(입력행, 3) = txt전화번호
Cells(입력행, 4) = cmb등급
End Sub

이렇게 해도 상관없죠?

책 다른 비슷한 문제도 이렇게 쓰던데요..

답변
2012-07-24 11:48:37

userform_click() 이 아니라

userform_initialze() 에 작성해야 합니다.

폼이 실행될때 lst신상목록과 등급에 값이 입력되어야 하기 때문이죠.

아래 그림과 같이 컨트롤의 이름이 등급, 전화번호 이기 때문입니다.

컨트롤 명은 만든사람에 따라 다르기 때문에 꼭 확인하여 사용하시기 바랍니다.

좋은 하루 되세요.

"
  • *
    2012-07-24 11:48:37

    userform_click() 이 아니라

    userform_initialze() 에 작성해야 합니다.

    폼이 실행될때 lst신상목록과 등급에 값이 입력되어야 하기 때문이죠.

    아래 그림과 같이 컨트롤의 이름이 등급, 전화번호 이기 때문입니다.

    컨트롤 명은 만든사람에 따라 다르기 때문에 꼭 확인하여 사용하시기 바랍니다.

    좋은 하루 되세요.

    "
· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.