기출문제 3번에서 3번은 참조행=cmb종류.listindex+7이고
기출문제 4번에서 2번은 참조행=lst과목.listindex 라고 답지에 나오는데 왜 이렇게 되는지 이해가 되지 않습니다.
네이버에서 다른분들이 올리신 지식인에서 답변해주신것도 찾아보고 했는데 제가 이해력이 많이 부족한 것 같아요 하나도 이해가 안되서 그런데 정해져있는 답변 말고 좀 자세하게 풀어서 알려주시면 감사하겠습니다
시트의 데이터를 참조해 폼에 입력하는 과정에서
어떤 경우는
참조행 = cmb종류.listindex + 4
이런 식으로 뒤에 플러스 알파를 하는 경우가 있고
참조행 = cmb종류.listindex
이렇게 추가로 더하지 않는 경우가 있던데 둘의 차이는 무엇인가요?
-> +를 해주는 경우는 콤보상자에서 선택한 값번째에 있는 것을 워크시트에서 찾아 그에 해당하는 값을 넣을 때입니다. 워크시트에서 해당 데이터가 4번째 행부터 표시되면 +4, 6번째 행부터 표시되면 +6을 해주는 것입니다. 목록 상자에 표시된 데이터를 표시할 때는 워크시트가 아닌 목록 상자에 표시되어 있으므로 +를 해줄 필요가 없는 것입니다.
여기서 더 풀어서 설명 드릴 방법이 없을 것 같습니다.
아래 설명을 참고해 주세요.
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-07-12 14:13:18
시트의 데이터를 참조해 폼에 입력하는 과정에서
어떤 경우는
참조행 = cmb종류.listindex + 4
이런 식으로 뒤에 플러스 알파를 하는 경우가 있고
참조행 = cmb종류.listindex
이렇게 추가로 더하지 않는 경우가 있던데 둘의 차이는 무엇인가요?
-> +를 해주는 경우는 콤보상자에서 선택한 값번째에 있는 것을 워크시트에서 찾아 그에 해당하는 값을 넣을 때입니다. 워크시트에서 해당 데이터가 4번째 행부터 표시되면 +4, 6번째 행부터 표시되면 +6을 해주는 것입니다. 목록 상자에 표시된 데이터를 표시할 때는 워크시트가 아닌 목록 상자에 표시되어 있으므로 +를 해줄 필요가 없는 것입니다.
여기서 더 풀어서 설명 드릴 방법이 없을 것 같습니다.
아래 설명을 참고해 주세요.
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)
두번째 코드는 워크시트에서 참조표가 있는 곳의 위치를 지정하여 입력할 데이터를 확인 하는 것입니다.
좋은 하루 되세요.