책 내용 질문하기
For Each ~ Next문
도서
[2013] 컴퓨터활용능력 1급 실기(엑셀, 액세스 2007 사용자용)
페이지
242
조회수
124
작성일
2014-01-21
작성자
첨부파일

섹션18-기출02문제 3번 관련해 질문드려요.

답을 보면

스위치 = 0

참조행 = 3

For Each aa In Range("d4:d7")

참조행 = 참조행 + 1

If aa.Value = txt고객명 Then

(이하 생략)

여기서 참조행을 처음부터 4로 지정하면 안되나요?

그래서

스위치 = 0

참조행 = 4

For Each aa In Range("d4:d7")

If aa.Value = txt고객명 Then

이런식으로 하면 안되나요?

안된다면 참조행이 왜 3인지 알려주세요.

답변
2014-01-22 07:46:11

참조행 = 참조행 + 1

고객명을 입력한 후 [고객조회] 버튼을 클릭하면 d4:d7 범위에서 동일한 고객명을 찾습니다.

해당 고객명을 찾았을 경우 그 고객에 대한 고객등급, 매출금액, 결제방식 등을 폼에 표시해야 합니다.

참조행은 해당 고객명과 같은 행에 있는 고객등급, 매출금액, 결제방식을 폼에 표시하기 위해 사용하는 것입니다.

처음에 참조행에 3을 넣고, for문의 첫번째에 참조행=참조행+1을 실행하면 참조행은 4가 됩니다.

이 4는 워크시트에서 고객명이 들어 있는 범위의 첫번째 행을 의미하는 것입니다.

즉, 첫번째 고객이 들어 있는 '김현진'은 워크시트에 4행에 입력되어 있습니다.

첫번째 데이터를 비교할 때는 참조행이 4, 두번째 데이터를 비교할 때는 for 문 안에 들어 있는

'참조행=참조행+1'를 또 실행하게 되므로 참조행은 5 이렇게 1씩 증가하게 되는 것입니다.

좋은 하루 되세요.

"
  • *
    2014-01-22 07:46:11

    참조행 = 참조행 + 1

    고객명을 입력한 후 [고객조회] 버튼을 클릭하면 d4:d7 범위에서 동일한 고객명을 찾습니다.

    해당 고객명을 찾았을 경우 그 고객에 대한 고객등급, 매출금액, 결제방식 등을 폼에 표시해야 합니다.

    참조행은 해당 고객명과 같은 행에 있는 고객등급, 매출금액, 결제방식을 폼에 표시하기 위해 사용하는 것입니다.

    처음에 참조행에 3을 넣고, for문의 첫번째에 참조행=참조행+1을 실행하면 참조행은 4가 됩니다.

    이 4는 워크시트에서 고객명이 들어 있는 범위의 첫번째 행을 의미하는 것입니다.

    즉, 첫번째 고객이 들어 있는 '김현진'은 워크시트에 4행에 입력되어 있습니다.

    첫번째 데이터를 비교할 때는 참조행이 4, 두번째 데이터를 비교할 때는 for 문 안에 들어 있는

    '참조행=참조행+1'를 또 실행하게 되므로 참조행은 5 이렇게 1씩 증가하게 되는 것입니다.

    좋은 하루 되세요.

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