책 내용 질문하기
vba 프로시저에서
도서
2018 시나공 기출문제집 컴퓨터활용능력 1급 실기
페이지
130
조회수
29
작성일
2018-08-19
작성자
탈퇴*원
첨부파일

vba2번문제

참조행 = cmb공연.ListIndex + 5
입력행 = [c4].Row + [c4].CurrentRegion.Rows.Count
Date = Cells(입력행, 3)
txt공연장 = Cells(입력행, 4)
cmb공연명 = Cells(입력행, 5)
txt좌석수 = Cells(입력행, 6)
Cells(입력행, 7) = Cells(참조행, 12)
Cells(입력행, 8) = Cells(참조행, 13)
Cells(입력행, 9) = Format(Cells(입력행, 6) * Cells(입력행, 8), "#,###원")
txt공연장.SetFocus

참조행과 입력행은 무엇이 다른가요?

Cells(입력행, 7) = Cells(참조행, 12)
Cells(입력행, 8) = Cells(참조행, 13)

왜 이부분은 참조행이 12,13인것 인가요?

답변
2018-08-20 13:31:04

안녕하세요.

listindex 를 사용하는 문제는 엑셀 시트에 입력된 자료를 찾아 사용하는 것입니다.

참조행= cmb공연.ListIndex + 5

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

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

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

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

- ‘입력행’ 변수에 [C4] 셀의 행번호인 4와 [C4] 셀과 연결된 범위에 있는 데이터의 행수(3)를 더하여 치환합니다.

- Cells(입력행, 3) = Date 은 입력행이 7이니까

워크시트의 Cells(7, 3) 위치에 Date(날짜)를 넣으라는 의미가 됩니다.

- 쉽게 생각하면 워크시트에 데이터를 입력할 행을 표시하는 것이 입력행입니다.

Cells(입력행, 7) = Cells(참조행, 12)

- Cells(입력행,7열) : 위 그림 상태에서는 입력행이 7이므로 7행,7열(A열부터 1씩 세면 표1의 '구분' 필드가 됨) [G7]셀

- Cmb공연명.ListIndex+5으로 가져온 참조행이 위 그림에서는 '요술친구'가 선택되었으므로 3+5=8행이되고.

12열은 A열부터 1씩 세면 '구분' 필드가 됩니다.

- 즉, [G7] 셀에 cmb공연명에서 선택한 공연의 구분 정보(가족극)를 넣으라는 것입니다.


Cells(입력행, 8) = Cells(참조행, 13)

- Cells(입력행,8열) : 위 그림 상태에서는 입력행이 7이므로 7행,8열(A열부터 1씩 세면 표1의 '가격' 필드가 됨) [H7]셀

- Cmb공연명.ListIndex+5으로 가져온 참조행이 위 그림에서는 '요술친구'가 선택되었으므로 3+5=8행이되고.

13열은 A열부터 1씩 세면 '가격' 필드가 됩니다.

- 즉, [H7] 셀에 cmb공연명에서 선택한 공연의 가격 정보(21,000)를 넣으라는 것입니다.

좋은 하루 보내세요.

  • *
    2018-08-20 13:31:04

    안녕하세요.

    listindex 를 사용하는 문제는 엑셀 시트에 입력된 자료를 찾아 사용하는 것입니다.

    참조행= cmb공연.ListIndex + 5

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

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

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

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

    - ‘입력행’ 변수에 [C4] 셀의 행번호인 4와 [C4] 셀과 연결된 범위에 있는 데이터의 행수(3)를 더하여 치환합니다.

    - Cells(입력행, 3) = Date 은 입력행이 7이니까

    워크시트의 Cells(7, 3) 위치에 Date(날짜)를 넣으라는 의미가 됩니다.

    - 쉽게 생각하면 워크시트에 데이터를 입력할 행을 표시하는 것이 입력행입니다.

    Cells(입력행, 7) = Cells(참조행, 12)

    - Cells(입력행,7열) : 위 그림 상태에서는 입력행이 7이므로 7행,7열(A열부터 1씩 세면 표1의 '구분' 필드가 됨) [G7]셀

    - Cmb공연명.ListIndex+5으로 가져온 참조행이 위 그림에서는 '요술친구'가 선택되었으므로 3+5=8행이되고.

    12열은 A열부터 1씩 세면 '구분' 필드가 됩니다.

    - 즉, [G7] 셀에 cmb공연명에서 선택한 공연의 구분 정보(가족극)를 넣으라는 것입니다.


    Cells(입력행, 8) = Cells(참조행, 13)

    - Cells(입력행,8열) : 위 그림 상태에서는 입력행이 7이므로 7행,8열(A열부터 1씩 세면 표1의 '가격' 필드가 됨) [H7]셀

    - Cmb공연명.ListIndex+5으로 가져온 참조행이 위 그림에서는 '요술친구'가 선택되었으므로 3+5=8행이되고.

    13열은 A열부터 1씩 세면 '가격' 필드가 됩니다.

    - 즉, [H7] 셀에 cmb공연명에서 선택한 공연의 가격 정보(21,000)를 넣으라는 것입니다.

    좋은 하루 보내세요.

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