위에서 "lst과목=0"을 하면 디버그가 나오고,
lst과목.ListIndex=0을 해야 제대로 작동하는 이유가 뭔가요?
저는 ListIndex가 행의 값을 대입해주는 속성을 가지고 있다고 알고 있는데...
lst과목필드의 행값이 0인데 어떻게 목록상자(lst과목)의 첫 번째 항목이 선택되는 건가요?
정확히 List와 ListIndex의 차이점이 뭔가요??
안녕하세요.
'lst과목'은 리스트박스 컨트롤 자체를 의미하는 것입니다.
'lst과목.ListIndex'는 'lst과목' 컨트롤의 실제 데이터들에 0부터 Index를 붙이는 것입니다.
lst과목.ListIndex=0 이라고 하면, 'lst과목' 리스트의 인덱스를 0으로 설정하는 것이지요.
즉, lst과목의 첫 번째 항목이 선택되는 것입니다.
If IsNull(lst과목.Value) Then
lst과목.ListIndex = 0
lst과목의 값이 NULL이면,
lst과목.ListIndex = 0 으로 설정하는 것입니다. 첫 번째 항목으로 설정하는 것입니다.
Else
참조행 = lst과목.ListIndex
......
Cells(입력행, 3) = lst과목.List(참조행, 0)
Cells(입력행, 4) = lst과목.List(참조행, 1)
NULL이 아니면,
참조행에 (lst과목.ListIndex)lst과목에서 선택된 인덱스 값을 넣어서
Cells(입력행, 3) = lst과목.List(참조행, 0)을 통해서 워크시트의 Cells(입력행,3) 위치에
lst과목.List(참조행,0)의 값을 넣는 것이죠.
즉, 참조행에 lst과목.listindex 라고 정의해 두고, lst과목.list(참조행,0) 으로 사용하고 있는 것입니다.
문의 내용 정리하면,
lst목록의 인덱스가 0부터 시작하기 때문에 첫 번째 항목이 선택되는 것입니다.
ListIndex 는 리스트의 인덱스를 설정하는 속성이고,
그 ListIndex 위치의 데이터는 .List(행,열) 속성을 이용하셔 워크시트의 셀에 넣을 수 있습니다.
좋은 하루 보내세요.
-
*2018-11-19 22:49:25
안녕하세요.
'lst과목'은 리스트박스 컨트롤 자체를 의미하는 것입니다.'lst과목.ListIndex'는 'lst과목' 컨트롤의 실제 데이터들에 0부터 Index를 붙이는 것입니다.
lst과목.ListIndex=0 이라고 하면, 'lst과목' 리스트의 인덱스를 0으로 설정하는 것이지요.
즉, lst과목의 첫 번째 항목이 선택되는 것입니다.
If IsNull(lst과목.Value) Then
lst과목.ListIndex = 0lst과목의 값이 NULL이면,
lst과목.ListIndex = 0 으로 설정하는 것입니다. 첫 번째 항목으로 설정하는 것입니다.
Else
참조행 = lst과목.ListIndex
......
Cells(입력행, 3) = lst과목.List(참조행, 0)
Cells(입력행, 4) = lst과목.List(참조행, 1)NULL이 아니면,
참조행에 (lst과목.ListIndex)lst과목에서 선택된 인덱스 값을 넣어서
Cells(입력행, 3) = lst과목.List(참조행, 0)을 통해서 워크시트의 Cells(입력행,3) 위치에
lst과목.List(참조행,0)의 값을 넣는 것이죠.
즉, 참조행에 lst과목.listindex 라고 정의해 두고, lst과목.list(참조행,0) 으로 사용하고 있는 것입니다.
문의 내용 정리하면,
lst목록의 인덱스가 0부터 시작하기 때문에 첫 번째 항목이 선택되는 것입니다.
ListIndex 는 리스트의 인덱스를 설정하는 속성이고,
그 ListIndex 위치의 데이터는 .List(행,열) 속성을 이용하셔 워크시트의 셀에 넣을 수 있습니다.
좋은 하루 보내세요.