저번에 똑같은 질문을 올렸었는데 이 내용이 다른 부분을 설명해주셨어요
ㅠㅠ다시한번만 부탁드립니다. 이 부분 정말 이해가 안갑니다.
스위치 = 0
참고행 = 3
For Each Name In Range("D4:D7")
참조행 = 참조행 + 1
If Name = txt고객명 Then
txt고객등급 = Cells(참조행, 5)
txt매출금액 = Cells(참조행, 6)
txt결제방식 = Cells(참조행, 7)
스위치 = 1
Exit For
next
if 스위치 = 0 then
MsgBox "조건에 일치하는 자료가 없습니다."
End If
Next
245쪽에 이런 설명이 있는데
참조행에 1을 누적키는 것이 이해가 되지 않습니다ㅠㅠ 제가 이해를 잘못하고 있는 것 같습니다
이게 시트에 나와있는대로 김현진 성은희 정민호 주성치 순으로 txt고객명에 입력을 한다면
김현진은 참조행 초깃값인 3에 1을 더한 4행의 5열에서 고객등급을 찾고, 성은희는 김현진의 참조행이었던 5행의 5열에서 고객등급을 찾고 다른 두사람도 그런식으로 할 수 있는데 고객들의 이름을 입력하는 순서가 바뀐다면 김현진의 고객등급을 6행 5열에서 찾고 성은희의 고객등급을 4행 5열에서 찾게되는 일이 발생하지 않나요??
안녕하세요.
코드 자체를 잘못 이해하고 계신듯 합니다. 고객명을 입력하고 고객조회 버튼을 누르면 d4:d7 영역의 데이터를 처음부터 일일이 비교하게 됩니다. 같은 데이터가 있으면 각 컨트롤에 데이터를 표시한 후 Exit For에서 For문을 빠져나오게 됩니다. 그런 다음 또 다시 다른 사람을 입력하고 고객조회 버튼을 클릭하면 코드의 맨 앞부분부터 다시 실행하게 되므로 코드의 앞부분에 있는 참조행=3이 실행됩니다. 그러므로 다시 d4:d7 영역의 데이터를 처음부터 검색하게 되는 것입니다. 그 전에 어떤 데이터를 검색하든지 상관 없게 되는 것입니다.
즐거운 하루 되세요.
"-
*2013-01-24 09:24:27
안녕하세요.
코드 자체를 잘못 이해하고 계신듯 합니다. 고객명을 입력하고 고객조회 버튼을 누르면 d4:d7 영역의 데이터를 처음부터 일일이 비교하게 됩니다. 같은 데이터가 있으면 각 컨트롤에 데이터를 표시한 후 Exit For에서 For문을 빠져나오게 됩니다. 그런 다음 또 다시 다른 사람을 입력하고 고객조회 버튼을 클릭하면 코드의 맨 앞부분부터 다시 실행하게 되므로 코드의 앞부분에 있는 참조행=3이 실행됩니다. 그러므로 다시 d4:d7 영역의 데이터를 처음부터 검색하게 되는 것입니다. 그 전에 어떤 데이터를 검색하든지 상관 없게 되는 것입니다.
즐거운 하루 되세요.
"