책 내용 질문하기
프로시저 기출 따라잡기 2번
도서
[2013] 컴퓨터활용능력 1급 실기(엑셀, 액세스 2007 사용자용)
페이지
242
조회수
85
작성일
2013-01-24
작성자
탈퇴*원
첨부파일

스위치 = 0

참조행 = 3 ---->참조행이 3이면

for Each aa in range("d4:d7") ---->aa는 "d4:d7"에 개체(고개명을 의미하는건가요?) 모두다 저장하는건가요?

Range는 뜻이 뭔가요?

참조행 = 참조행 + 1 ---->참조행=참조행 +1은 없어도 되는거 아니예요 이걸 이용해서 이름을 입력시키는 건 아니잖아요. 그럼

if aa.value = txt고객명 then ---->.Value(값)가 없어도 되는거 아닌가요?

txt고객등급 = cells( 참조행, 5 )

txt매출금액 = cells( 참조행, 6 )

txt결제방식 = cells( 참조행, 7 )

스위치=1

Exit for---->갑자기 for문은 왜 써야하는건가요?

End if

Next

if 스위치 = 0 then

msgbox "조건에 일치하는 자료는 없습니다."

end if

답변
2013-01-25 09:36:40

안녕하세요.

스위치 = 0

참조행 = 3 ---->참조행이 3이면

for Each aa in range("d4:d7") ---->aa는 "d4:d7"에 개체(고개명을 의미하는건가요?) 모두다 저장하는건가요?

-> d4:d7 범위에 들어 있는 데이터를 한번에 하나씩 aa 변수에 넣으면서 for문을 반복하는 것입니다.

Range는 뜻이 뭔가요?

-> 워크시트의 셀이나 셀 범위를 나타내는 속성입니다.

참조행 = 참조행 + 1 ---->참조행=참조행 +1은 없어도 되는거 아니예요 이걸 이용해서 이름을 입력시키는 건 아니잖아요. 그럼

-> 고객명을 입력한 후 [고객조회] 버튼을 클릭하면 d4:d7 범위에서 동일한 고객명을 찾습니다. 해당 고객명을 찾았을 경우 그 고객에 대한 고객등급, 매출금액, 결제방식 등을 폼에 표시해야 합니다. 참조행은 해당 고객명과 같은 행에 있는 고객등급, 매출금액, 결제방식을 폼에 표시하기 위해 사용하는 것입니다. 처음에 참조행에 3을 넣고, for문의 첫번째에 참조행=참조행+1을 실행하면 참조행은 4가 됩니다. 이 4는 워크시트에서 고객명이 들어 있는 범위의 첫번째 행을 의미하는 것입니다. 즉, 첫번째 고객이 들어 있는 '김현진'은 워크시트에 4행에 입력되어 있습니다. 첫번째 데이터를 비교할 때는 참조행이 4, 두번째 데이터를 비교할 때는 for 문 안에 들어 있는 '참조행=참조행+1'를 또 실행하게 되므로 참조행은 5 이렇게 1씩 증가하게 되는 것입니다.

if aa.value = txt고객명 then ---->.Value(값)가 없어도 되는거 아닌가요?

-> aa변수에 들어있는 값 자체를 지정한 것입니다. 없어도 정상적으로 실행이 된다면 상관 없습니다.

txt고객등급 = cells( 참조행, 5 )

txt매출금액 = cells( 참조행, 6 )

txt결제방식 = cells( 참조행, 7 )

스위치=1

Exit for---->갑자기 for문은 왜 써야하는건가요?

-> 고객명 컨트롤에 입력된 고객과 동일한 데이터가 있어 워크시트에 있는 데이터를 각 컨트롤에 표시했다면 그 다음에 또 다른 고객을 비교할 필요가 있을까요? 없겠죠. 그러니 for문을 빠져나가는 것입니다.

End if

Next

if 스위치 = 0 then

msgbox "조건에 일치하는 자료는 없습니다."

end if

즐거운 하루 되세요.

"
  • *
    2013-01-25 09:36:40

    안녕하세요.

    스위치 = 0

    참조행 = 3 ---->참조행이 3이면

    for Each aa in range("d4:d7") ---->aa는 "d4:d7"에 개체(고개명을 의미하는건가요?) 모두다 저장하는건가요?

    -> d4:d7 범위에 들어 있는 데이터를 한번에 하나씩 aa 변수에 넣으면서 for문을 반복하는 것입니다.

    Range는 뜻이 뭔가요?

    -> 워크시트의 셀이나 셀 범위를 나타내는 속성입니다.

    참조행 = 참조행 + 1 ---->참조행=참조행 +1은 없어도 되는거 아니예요 이걸 이용해서 이름을 입력시키는 건 아니잖아요. 그럼

    -> 고객명을 입력한 후 [고객조회] 버튼을 클릭하면 d4:d7 범위에서 동일한 고객명을 찾습니다. 해당 고객명을 찾았을 경우 그 고객에 대한 고객등급, 매출금액, 결제방식 등을 폼에 표시해야 합니다. 참조행은 해당 고객명과 같은 행에 있는 고객등급, 매출금액, 결제방식을 폼에 표시하기 위해 사용하는 것입니다. 처음에 참조행에 3을 넣고, for문의 첫번째에 참조행=참조행+1을 실행하면 참조행은 4가 됩니다. 이 4는 워크시트에서 고객명이 들어 있는 범위의 첫번째 행을 의미하는 것입니다. 즉, 첫번째 고객이 들어 있는 '김현진'은 워크시트에 4행에 입력되어 있습니다. 첫번째 데이터를 비교할 때는 참조행이 4, 두번째 데이터를 비교할 때는 for 문 안에 들어 있는 '참조행=참조행+1'를 또 실행하게 되므로 참조행은 5 이렇게 1씩 증가하게 되는 것입니다.

    if aa.value = txt고객명 then ---->.Value(값)가 없어도 되는거 아닌가요?

    -> aa변수에 들어있는 값 자체를 지정한 것입니다. 없어도 정상적으로 실행이 된다면 상관 없습니다.

    txt고객등급 = cells( 참조행, 5 )

    txt매출금액 = cells( 참조행, 6 )

    txt결제방식 = cells( 참조행, 7 )

    스위치=1

    Exit for---->갑자기 for문은 왜 써야하는건가요?

    -> 고객명 컨트롤에 입력된 고객과 동일한 데이터가 있어 워크시트에 있는 데이터를 각 컨트롤에 표시했다면 그 다음에 또 다른 고객을 비교할 필요가 있을까요? 없겠죠. 그러니 for문을 빠져나가는 것입니다.

    End if

    Next

    if 스위치 = 0 then

    msgbox "조건에 일치하는 자료는 없습니다."

    end if

    즐거운 하루 되세요.

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