책 내용 질문하기
엑셀 최신기출문제 07년 3회 B형 질문
도서
[2010] 컴퓨터활용능력 1급 실기(엑셀, 액세스 2003 사용자용)
페이지
조회수
87
작성일
2011-08-30
작성자
첨부파일

1

문제4-3 마지막 문제입니다

예약하기 폼의 예약 버튼 클릭하면 폼에 입력된 날짜, 도착지, 등급, 매수 데이터가 입력되어있는

마지막 행 다음에 연속으로 추가 되도록 프로시저 작성

- 표1의 가격은 폼에서 사용자가 입력한 도착지 등급으로 표2에서 값을 찾아 사용자가

입력한 매수와 곱한값 입력(Listindex속성이용)

이건데요

listindex속성을 이용하라고 했으면

참조행 써가지고 푸는거 아닌가요???

답을 보면 그냥 입력행만 있고

마지막에 금액 구할때

cells(입력행,6)=txt매수*cells(cmb도착지.listindex+6,cmb등급.listindex+10)이라고 나와있는데

참조행없이도 listindex속성을 이용할 수 있는건가요??

2.

채점프로그램을 이용해서 채점을 하니깐(기본모의고사 6회)

틀린것중에

열린 열차판매 보고서의 레코드 개수가

'8'(정답)이 아닌

'9_이상'(오답)입니다.

라고 나오는데 어디서 잘못해서 이런 감점내역이 뜬건지를 잘 모르겠습니다.

이건 어디서 틀렸길래 이런건가요???

답변
2011-08-31 10:35:31

cmb도착지 컨트롤의 listindex 를 사용하는 것이므로 참조행이 꼭 필요하지 않습니다.

cmb도착지 컨트롤의 첫번째 값을 0으로 생각하고 2번째 값(공주)을 선택 하면

거기에 해당하는 1 과 + 6 을 하여 7행을 반영 하게 됩니다.

cells(7, cmb등급.listindex +10)

이 되죠.

cmb등급에서 2번째 것을 선택(우등)하면 1 + 10 을 하여 11열에 해당하는 것을 찾게 되죠.

그럼 cells(7,11) 이 됩니다.

여기에 해당하는 값이 아래의 그림과 같습니다.

listindex 사용하는 문제가 있고 list,listindex 를 사용하는 문제가 있으니 잘 판단하셔서 사용하세요.

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박스내의 자료를 찾아서 셀에 입력 하는 것이구요.




두번째 코드는 워크시트에서 참조표가 있는 곳의 위치를 지정하여 입력할 데이터를 확인 하는 것입니다.


2. 실기특성상 질문만으로는 정확한 이유를 알기 어렵습니다.

작성하신 파일을 첨부하여 다시 질문 주시면 확인 후 답변 드리겠습니다.


좋은 하루 되세요.

"
  • *
    2011-08-31 10:35:31

    cmb도착지 컨트롤의 listindex 를 사용하는 것이므로 참조행이 꼭 필요하지 않습니다.

    cmb도착지 컨트롤의 첫번째 값을 0으로 생각하고 2번째 값(공주)을 선택 하면

    거기에 해당하는 1 과 + 6 을 하여 7행을 반영 하게 됩니다.

    cells(7, cmb등급.listindex +10)

    이 되죠.

    cmb등급에서 2번째 것을 선택(우등)하면 1 + 10 을 하여 11열에 해당하는 것을 찾게 되죠.

    그럼 cells(7,11) 이 됩니다.

    여기에 해당하는 값이 아래의 그림과 같습니다.

    listindex 사용하는 문제가 있고 list,listindex 를 사용하는 문제가 있으니 잘 판단하셔서 사용하세요.

    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박스내의 자료를 찾아서 셀에 입력 하는 것이구요.




    두번째 코드는 워크시트에서 참조표가 있는 곳의 위치를 지정하여 입력할 데이터를 확인 하는 것입니다.


    2. 실기특성상 질문만으로는 정확한 이유를 알기 어렵습니다.

    작성하신 파일을 첨부하여 다시 질문 주시면 확인 후 답변 드리겠습니다.


    좋은 하루 되세요.

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