책 내용 질문하기
for each문 질문입니다.
도서
2016 시나공 컴퓨터활용능력 1급 실기
페이지
375
조회수
85
작성일
2017-03-04
작성자
첨부파일

Private Sub cmd조회_Click()
sw = 0
i = 3

For Each n In Range("A4:A8")
i = i + 1
If n.Text = txt고객번호 Then
txt고객번호 = Format(Cells(i, 1), "&&&&&")
txt종류명 = Cells(i, 2)
txt기본요금 = Format(Cells(i, 3), "#,##0")
txt사용시간 = Cells(i, 4)
txt청구금액 = Format(Cells(i, 5), "#,##0")
sw = 1
Exit For
End If
Next

If sw = 0 Then
MsgBox "고객번호가 잘못되었습니다."
ElseIf txt청구금액.Value >= 150000 Then
MsgBox "고객번호 " & txt고객번호 & "님은 추가할인 대상입니다."
End If

End Sub

여기서 궁금한것이 있는데요

저는 처음에 문제풀때 i=0 으로 두고 for문 안에서 i=i+4 라고했었는데 답이 이상하게 나왔습니다.

어떤차이가 있는건가요??

그리고 답지에는 n.value(저는 aa를 n으로 했습니다.)라고 되어있는데

고객번호는 숫자가아니라 텍스트라고 보고 n.text라고 입력을 했습니다.

제대로 생각한것이 맞나요?

답변
2017-03-07 11:08:58

i 는 참조행 입니다.

참조행은 시트에 입력된 값이 몇행에 있는지 확인 하는 부분으로

3으로 지정한 후 for 문 안에서 i=i+1 을 하게 되어 4가 됩니다.

4행부터 확인 하게 되는 것이죠.

좋은 하루 되세요.

  • *
    2017-03-07 11:08:58

    i 는 참조행 입니다.

    참조행은 시트에 입력된 값이 몇행에 있는지 확인 하는 부분으로

    3으로 지정한 후 for 문 안에서 i=i+1 을 하게 되어 4가 됩니다.

    4행부터 확인 하게 되는 것이죠.

    좋은 하루 되세요.

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