1. SetFocus/ Activate 각 명령어의 차이는 무엇인가요?
2. If IsNull(lst과목.Value) Then -> If lst과목="" Then
화살표 뒤 코드로 써도 되나요? Value값을 꼭 붙어야 하나요?
3. 참조행 = lst과목.ListIndex +10 이 아닌가요?
1. .setFocus는 컨트롤에 포커스가 이동되는 것이고
.active 워크시트의 셀로 셀 포인터가 이동되는 것입니다.
2.
value 는 값을 뜻하는 것인데 이것이 있든 없든 정확한 결과가 나온다면 상관 없습니다.
3.
'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(행,열) 속성을 이용하셔 워크시트의 셀에 넣을 수 있습니다.
좋은 하루 보내세요.
-
관리자2019-11-07 21:21:14
1. .setFocus는 컨트롤에 포커스가 이동되는 것이고
.active 워크시트의 셀로 셀 포인터가 이동되는 것입니다.
2.
value 는 값을 뜻하는 것인데 이것이 있든 없든 정확한 결과가 나온다면 상관 없습니다.
3.
'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(행,열) 속성을 이용하셔 워크시트의 셀에 넣을 수 있습니다.
좋은 하루 보내세요.