책 내용 질문하기
2021 컴퓨터활용능력 1급 실기 / 기출문제집 / 2021년 공개 A형 - 문제 4번 기타작업 - 03.프로시저 - 2번이요.
도서
2021 시나공 컴퓨터활용능력 1급 실기
페이지
162,169
조회수
762
작성일
2021-04-05
작성자
탈퇴*원
첨부파일

2021 컴퓨터활용능력 1급 실기 / 기출문제집 / 2021년 공개 A형 

 

문제 4번 기타작업 - 03.프로시저  -  2번 문제 (P162)

  

 

저는 

Private Sub cmd등록_Click() 

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

    Cells(입력행, 2) = cmb구분.Column(0) 

    Cells(입력행, 3) = txt아동명.Value 

    If opt유.Value = True Then 

        Cells(입력행, 4) = "유" 

    Else 

        Cells(입력행, 4) = "무" 

    End If 

    Cells(입력행, 5) = cmb구분.Column(1) 

    Cells(입력행, 6) = txt입장시간.Value 

    Cells(입력행, 7) = txt퇴장시간.Value 

    Cells(입력행, 8) = (Hour(txt퇴장시간) - Hour(txt입장시간)) * Cells(입력행, 5) 

End Sub 

 

이렇게 입력하였고 채점프로그램을 돌렸더니 '정답O'처리되었습니다.

 

  

 

기출문제집 / 교재 169쪽에서는

Private Sub cmd등록_Click() 

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

    Cells(입력행, 2) = cmb구분.List(cmb구분.ListIndex, 0) 

    Cells(입력행, 3) = txt아동명.Value 

    If opt유 = True Then 

        Cells(입력행, 4) = "유" 

    Else 

        Cells(입력행, 4) = "무" 

    End If 

    Cells(입력행, 5) = cmb구분.List(cmb구분.ListIndex, 1) 

    Cells(입력행, 6) = txt입장시간.Value 

    Cells(입력행, 7) = txt퇴장시간.Value 

    Cells(입력행, 8) = (Hour(Cells(입력행, 7)) - Hour(Cells(입력행, 6))) * Cells(입력행, 5) 

End Sub 

 

이렇게 나와있었습니다.

 

  

 

여기서 궁금한 점!  질문드립니다!!

 

질문 1) List 속성을 이용하라는 지문이 문제에 제시되어 있지 않아도 

        문제에 "▶ '구분'과 '기본요금'에는 '구분/기본요금(cmb구분)'에서 선택된 값으로 각각 표시" 이 부분을 보고 

        List 와 ListIndex 속성을 사용하면 되는 건가요?? 

 

 질문 2) 지문의 "▶ 요금 = (퇴장시간의 시간 - 입장시간의 시간) × 기본요금"은

        폼에 있는 'txt입장시간' 컨트롤의 값을 워크시트의 cells(입력행,6) 위치에 입력. 

        폼에 있는 'txt퇴장시간' 컨트롤의 값을 워크시트의 cells(입력행,7) 위치에 입력. 

   해당 위치(cell(입력행,6)과 cells(입력행,7))로 컨트롤('txt입장시간','txt퇴장시간')의 값이 입력되었기 때문에

    Cells(입력행, 8) = (Hour(Cells(입력행, 7)) - Hour(Cells(입력행, 6))) * Cells(입력행, 5)   이렇게 쓰여진건가요???  

채점프로그램에선  

    Cells(입력행, 8) = (Hour(txt퇴장시간) - Hour(txt입장시간)) * Cells(입력행, 5)  이렇게 입력했어도 정답처리된 자세한 설명을 부탁드립니다. 

 실제 시험에서도 정답처리되는지도 궁금하구요.  

답변
2021-04-06 19:59:37

지시사항에 별다른 지시사항이 없었다면 어떤 방법을 이용하든 정확한 결과가 나오면 정답으로 인정 됩니다. 

 

아래 내용은 참고해 주세요. 

 

안녕하세요.

 

첫번째 코드는 목록상자나 콤보상자에서 특정 행을 추출할 때 사용하고, 두번째 코드는 워크시트의 셀안의 내용을 가져올때 사용 하게 됩니다.

 

<첫 번째 코드>
참조행 = 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행에 있다는 그런 뜻이 됩니다.


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)

이 문장에서는 lst열차종류에서 참조되는 행의 위치를 이미 지정하였습니다. 그리고 사용 할때는 8,9와 같이 엑셀에서 위치하는 열을 미리 적어 둔 것입니다.

 

한마디로 말하면.. 첫번째 코드는 폼안의 list박스내의 자료를 찾아서 셀에 입력 하는 것이구요.


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

 


좋은 하루 되세요. 

  • 관리자
    2021-04-06 19:59:37

    지시사항에 별다른 지시사항이 없었다면 어떤 방법을 이용하든 정확한 결과가 나오면 정답으로 인정 됩니다. 

     

    아래 내용은 참고해 주세요. 

     

    안녕하세요.

     

    첫번째 코드는 목록상자나 콤보상자에서 특정 행을 추출할 때 사용하고, 두번째 코드는 워크시트의 셀안의 내용을 가져올때 사용 하게 됩니다.

     

    <첫 번째 코드>
    참조행 = 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행에 있다는 그런 뜻이 됩니다.


    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)

    이 문장에서는 lst열차종류에서 참조되는 행의 위치를 이미 지정하였습니다. 그리고 사용 할때는 8,9와 같이 엑셀에서 위치하는 열을 미리 적어 둔 것입니다.

     

    한마디로 말하면.. 첫번째 코드는 폼안의 list박스내의 자료를 찾아서 셀에 입력 하는 것이구요.


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

     


    좋은 하루 되세요. 

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