실전모의고사 마지막 프로시저를 풀다가, 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
이렇게 해도 상관없죠?
책 다른 비슷한 문제도 이렇게 쓰던데요..
userform_click() 이 아니라
userform_initialze() 에 작성해야 합니다.
폼이 실행될때 lst신상목록과 등급에 값이 입력되어야 하기 때문이죠.
아래 그림과 같이 컨트롤의 이름이 등급, 전화번호 이기 때문입니다.
컨트롤 명은 만든사람에 따라 다르기 때문에 꼭 확인하여 사용하시기 바랍니다.
좋은 하루 되세요.
"-
*2012-07-24 11:48:37
userform_click() 이 아니라
userform_initialze() 에 작성해야 합니다.
폼이 실행될때 lst신상목록과 등급에 값이 입력되어야 하기 때문이죠.
아래 그림과 같이 컨트롤의 이름이 등급, 전화번호 이기 때문입니다.
컨트롤 명은 만든사람에 따라 다르기 때문에 꼭 확인하여 사용하시기 바랍니다.
좋은 하루 되세요.
"