책 내용 질문하기
2019 컴활 실기 1급 505페이지 문제4 - 2 -2번
도서
2019 시나공 컴퓨터활용능력 1급 실기
페이지
505
조회수
185
작성일
2020-10-26
작성자
탈퇴*원
첨부파일

입력버튼 클릭시 추가되는 것인되요. List. Listindex를 사용하여 프로시저 작성하기

 

아래에서 참조행이         참조행 = lst신상목록.ListIndex   이렇게 입력하면

참조행에 0-4까지 참조행값이 될 수 있는데요. 

        Cells(입력행, 1) = lst신상목록.List(참조행, 0)

        Cells(입력행, 2) = lst신상목록.List(참조행, 1)

이렇게 실행되면 0,0으로 입력되면 ??? 어떻게 값이 입력이되나요 워크시트에 6행에 있는 "F3:G9"가있는 값을 참조하는 방식이였는데요 여태까지

질문이 어렵지만

처음에 lst신상목록.RowSource = "F4:G8" 로 설정을해서

참조행값이  참조행 = lst신상목록.ListIndex   이렇게 해도  F4:G8을 참조하는것인지 좀많이햇갈려요;

 

 

Private Sub 입력_Click()

    If IsNull(lst신상목록) Then

        MsgBox "신상목록을 선택하지 않았습니다."

        lst신상목록.ListIndex = 0

    Else

        입력행 = [a3].Row + [a3].CurrentRegion.Rows.Count

        참조행 = lst신상목록.ListIndex

        

        Cells(입력행, 1) = lst신상목록.List(참조행, 0)

        Cells(입력행, 2) = lst신상목록.List(참조행, 1)

        Cells(입력행, 3) = 전화번호

        Cells(입력행, 4) = 등급

    End If

 

End Sub

답변
2020-10-28 11:39:53

st신상목록.ListIndex=0 이라고 하면, 'lst신상목록' 리스트의 인덱스를 0으로 설정하는 것이지요.

 

즉, lst신상목록의 첫 번째 데이터가 선택되는 것입니다.

 

 

참조행 = lst신상목록.listindex

lst신상목록.listindex는 'lst신상목록' 목록상자에서 선택한 회원의 인덱스(상대적 위치)를 반환해서

참조행에 넣는 것입니다. 목록상자에서 '이사번'을 선택했다면 인덱스는 0부터 시작하므로 3이 됩니다.

 

Cells(입력행,1) 셀에 lst신상목록.List(3,0)의 값 (이사번)을 넣고,

Cells(입력행,2) 셀에 lst신상목록.List(3,1)의 값 (시흥)을 넣고,

Cells(입력행,3) 셀에 전화번호를 넣는 것입니다.

 

즉, 목록상자에서 선택된 인덱스를 가져오는 것이므로 +4의 형태를 사용하지 않는 것입니다.

 

+4 형태로 listindex를 사용하는 것은

워크시트에서 참조표가 있는 곳의 위치를 지정하여 입력할 데이터를 확인할 때 사용합니다.

예를 들어,

참조행 = 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)


좋은 하루 되세요. 

  • 관리자
    2020-10-28 11:39:53

    st신상목록.ListIndex=0 이라고 하면, 'lst신상목록' 리스트의 인덱스를 0으로 설정하는 것이지요.

     

    즉, lst신상목록의 첫 번째 데이터가 선택되는 것입니다.

     

     

    참조행 = lst신상목록.listindex

    lst신상목록.listindex는 'lst신상목록' 목록상자에서 선택한 회원의 인덱스(상대적 위치)를 반환해서

    참조행에 넣는 것입니다. 목록상자에서 '이사번'을 선택했다면 인덱스는 0부터 시작하므로 3이 됩니다.

     

    Cells(입력행,1) 셀에 lst신상목록.List(3,0)의 값 (이사번)을 넣고,

    Cells(입력행,2) 셀에 lst신상목록.List(3,1)의 값 (시흥)을 넣고,

    Cells(입력행,3) 셀에 전화번호를 넣는 것입니다.

     

    즉, 목록상자에서 선택된 인덱스를 가져오는 것이므로 +4의 형태를 사용하지 않는 것입니다.

     

    +4 형태로 listindex를 사용하는 것은

    워크시트에서 참조표가 있는 곳의 위치를 지정하여 입력할 데이터를 확인할 때 사용합니다.

    예를 들어,

    참조행 = 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)


    좋은 하루 되세요. 

· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.