책 내용 질문하기
프로시저질문이용
도서
2018 시나공 컴퓨터활용능력 1급 실기(엑셀, 액세스 2010 사용자용)
페이지
조회수
35
작성일
2018-08-22
작성자
탈퇴*원
첨부파일

프로시저작성할때 참조행 입력하는거랑 안하는건 무슨 차이때문인거죠?

어떤문제는 참조행도 입력하고 어떤문제는 입력안하던데 설명좀 자세하게 해주세요

listindex 속성은 언제 이용하는건지도 알려주세요!

답변
2018-08-23 11:35:47

안녕하세요.

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박스내의 자료를 찾아서 셀에 입력 하는 것이구요.
두번째 코드는 워크시트에서 참조표가 있는 곳의 위치를 지정하여 입력할 데이터를 확인 하는 것입니다.

---

참조행의 예를 들어 설명드립니다.


>> 참조행= cmb공연.ListIndex + 5

- ‘cmb공연.ListIndex’는 콤보상자에서 선택한 공연의 상대위치를 반환합니다.
콤보 상자에서 상대적인 위치는 0에서 시작하므로 ‘피노 키오’를 선택하면 ‘cmb공연.ListIndex’는 1을 반환합니다.

- 워크시트에서 ‘피노키오’에 대한 정보는 6행(K6셀)에 입력되어 있으므로
‘피노키오’가 있는 행을 지정하기 위해 ‘cmb공연.ListIndex’에 반환한 값 1에 5를 더한 것입니다.


- 즉, 5를 더한 이유는 실제 데이터의 위치가 워크시트의 5행(K5셀) 부터 시작하기 때문입니다.

좋은 하루 보내세요.

  • *
    2018-08-23 11:35:47

    안녕하세요.

    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박스내의 자료를 찾아서 셀에 입력 하는 것이구요.
    두번째 코드는 워크시트에서 참조표가 있는 곳의 위치를 지정하여 입력할 데이터를 확인 하는 것입니다.

    ---

    참조행의 예를 들어 설명드립니다.


    >> 참조행= cmb공연.ListIndex + 5

    - ‘cmb공연.ListIndex’는 콤보상자에서 선택한 공연의 상대위치를 반환합니다.
    콤보 상자에서 상대적인 위치는 0에서 시작하므로 ‘피노 키오’를 선택하면 ‘cmb공연.ListIndex’는 1을 반환합니다.

    - 워크시트에서 ‘피노키오’에 대한 정보는 6행(K6셀)에 입력되어 있으므로
    ‘피노키오’가 있는 행을 지정하기 위해 ‘cmb공연.ListIndex’에 반환한 값 1에 5를 더한 것입니다.


    - 즉, 5를 더한 이유는 실제 데이터의 위치가 워크시트의 5행(K5셀) 부터 시작하기 때문입니다.

    좋은 하루 보내세요.

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