안녕하세요.
기출문제 관련 질문입니다.
답안을 보고 똑같이 입력했는데도 강사명, 수강료 부분이 엑셀 폼에 입력되지 않고 디버그 메세지가 뜹니다.
제가 처음에 입력한 내용은 아래와 같고, 정답에는 입력행의 기준이 [a4]이고, 나머지는 같습니다.
입력행 = [b4].Row + [b4].CurrentRegion.Rows.Count
참조행 = list강좌.ListIndex
Cells(입력행, 2) = txt이름
Cells(입력행, 3) = cmb분류
Cells(입력행, 4) = list강좌.List(참조행, 0)
Cells(입력행, 5) = list강좌.List(참조행, 1)
Cells(입력행, 6) = list강좌.List(참조행, 2)
디버그 메세지가 뜨는 이유를 알고 싶습니다.
그리고 listindex에 +를 넣어 작성하는 방법이 있는지도 궁금합니다.
그럼 답변 부탁드립니다.
실기특성상 질문 주신 내용만으로는 정확한 이유를 알기 어렵습니다.
혹시 lst강좌나 분류에 값을 선택하지 않고 입력한 것은 아닌지 확인 해 보시구요.
잘 안되신다면 작성하신 파일을 첨부하여 다시 질문 주시면 확인 후 답변 드리겠습니다.
아래 내용은 참고 해주세요.
listindex 를 사용하는 문제는 엑셀 시트에 입력된 자료를 찾아 사용하는 것이고
list, listindex 문제는 리스트 박스에 입력된 내용을 사용하는 문제입니다.
문제에서 listindex 를 사용하라고 했는지, list,listindex 를 사용하라고 했는지 확인 하여 사용하시면 되세요.
아래 설명을 참고해 주세요.
listindex와 list,listindex의 차이점을 설명 드릴께요. 이렇게 이해하시는 것이 빠르실 거예요.
첫번째 코드는 목록상자나 콤보상자에서 특정 행을 추출할 때 사용하고, 두번째 코드는 워크시트의 셀안의 내용을 가져올때 사용 하게 됩니다.
참조행 = lst과목.ListIndex
입력행 = [a2].Row + [a2].CurrentRegion.Rows.Count
Cells(입력행, 1) = txtID
Cells(입력행, 2) = txt이름
Cells(입력행, 3) = lst과목.List(참조행, 0)
Cells(입력행, 4) = lst과목.List(참조행, 1)
Cells(입력행, 5) = lst과목.List(참조행, 2)
Cells(입력행, 6) = lst과목.List(참조행, 3) - (lst과목.List(참조행, 3) * txt할인율)
여기에서 참조행에 lst과목.listindex 라고 정의해 두고
lst과목.list(참조행,0) 으로 사용 하고 있습니다.
이것은 참조행이 어디인지 지정해 놓고 lst과목에서 참조행의 위치와 0인.. 그러니깐 참조행이 만약 2이고 찾고자하는 것이 0행에 있다는 그런 뜻이 됩니다.
참조행 = lst열차종류.listindex + 4
입력행 = [a3].row + [a3].currentregion.rows.count
cells(입력행, 1) = txt번호
cells(입력행, 2) = cells(참조행, 8)
cells(입력행, 3) = cells(참조행, 9)
cells(입력행, 4) = txt매수
cells(입력행, 5) = txt매수 * cells(참조행, 10)
이 문장에서는 lst열차종류에서 참조되는 행의 위치를 이미 지정하였습니다. 그리고 사용 할때는 8,9와 같이 엑셀에서 위치하는 열을 미리 적어 둔 것입니다.
한마디로 말하면.. 첫번째 코드는 폼안의 list박스내의 자료를 찾아서 셀에 입력 하는 것이구요.
.png)
두번째 코드는 워크시트에서 참조표가 있는 곳의 위치를 지정하여 입력할 데이터를 확인 하는 것입니다.

좋은 하루 되세요.
-
*2017-12-27 15:50:29
실기특성상 질문 주신 내용만으로는 정확한 이유를 알기 어렵습니다.
혹시 lst강좌나 분류에 값을 선택하지 않고 입력한 것은 아닌지 확인 해 보시구요.
잘 안되신다면 작성하신 파일을 첨부하여 다시 질문 주시면 확인 후 답변 드리겠습니다.
아래 내용은 참고 해주세요.
listindex 를 사용하는 문제는 엑셀 시트에 입력된 자료를 찾아 사용하는 것이고
list, listindex 문제는 리스트 박스에 입력된 내용을 사용하는 문제입니다.
문제에서 listindex 를 사용하라고 했는지, list,listindex 를 사용하라고 했는지 확인 하여 사용하시면 되세요.
아래 설명을 참고해 주세요.
listindex와 list,listindex의 차이점을 설명 드릴께요. 이렇게 이해하시는 것이 빠르실 거예요.
첫번째 코드는 목록상자나 콤보상자에서 특정 행을 추출할 때 사용하고, 두번째 코드는 워크시트의 셀안의 내용을 가져올때 사용 하게 됩니다.
참조행 = lst과목.ListIndex
입력행 = [a2].Row + [a2].CurrentRegion.Rows.Count
Cells(입력행, 1) = txtID
Cells(입력행, 2) = txt이름
Cells(입력행, 3) = lst과목.List(참조행, 0)
Cells(입력행, 4) = lst과목.List(참조행, 1)
Cells(입력행, 5) = lst과목.List(참조행, 2)
Cells(입력행, 6) = lst과목.List(참조행, 3) - (lst과목.List(참조행, 3) * txt할인율)
여기에서 참조행에 lst과목.listindex 라고 정의해 두고
lst과목.list(참조행,0) 으로 사용 하고 있습니다.
이것은 참조행이 어디인지 지정해 놓고 lst과목에서 참조행의 위치와 0인.. 그러니깐 참조행이 만약 2이고 찾고자하는 것이 0행에 있다는 그런 뜻이 됩니다.참조행 = lst열차종류.listindex + 4
입력행 = [a3].row + [a3].currentregion.rows.countcells(입력행, 1) = txt번호
cells(입력행, 2) = cells(참조행, 8)
cells(입력행, 3) = cells(참조행, 9)
cells(입력행, 4) = txt매수
cells(입력행, 5) = txt매수 * cells(참조행, 10)이 문장에서는 lst열차종류에서 참조되는 행의 위치를 이미 지정하였습니다. 그리고 사용 할때는 8,9와 같이 엑셀에서 위치하는 열을 미리 적어 둔 것입니다.
한마디로 말하면.. 첫번째 코드는 폼안의 list박스내의 자료를 찾아서 셀에 입력 하는 것이구요.
.png)
두번째 코드는 워크시트에서 참조표가 있는 곳의 위치를 지정하여 입력할 데이터를 확인 하는 것입니다.
좋은 하루 되세요.