시나공 컴활1급인데 섹션 18기출문제 2번 ㅠㅠㅠㅠ
Private Sub cmd고객조회_Click()
스위치 = 0
참조행 = 3
For Each aa In Range("d4:d7")
참조행 = 참조행 + 1
If aa.Value = txt고객명 Then
txt고객등급 = Cells(참조행, 5)
txt매출금액 = Cells(참조행, 6)
txt결제방식 = Cells(참조행, 7)
스위치 = 1
Exit For
End If
Next
If 스위치 = 0 Then
MsgBox "조건에 일치하는 자료가 없습니다"
End If
이부분이 잘이해가 안가네요 ㅠㅠㅠ
다른부분도 이해가 잘안가지마뉴ㅠㅠㅠ 와어렵네요ㅠㅠㅠㅠ벌써부터 막막하다니 ㅠㅠㅠㅠ
저거 스위치랑 참조행이 무슨 왜있는건가요ㅠㅠㅠㅠ
안녕하세요.
'참조행' 변수는 '참조행 = 참조행+1'과 같이 1씩 증가하는 변수로 데이터의 행을 가리킵니다. 초기값이 3이므로 3행부터 차례로 4행, 5행....으로 변하는 것이지요.
txt고객등급 = Cells(참조행, 5) 코드는 참조행이 4행일 경우, 4행 5열의 위치 데이터를 txt고객등급에 표시하라는 의미입니다.
For 문을 통해 [D4:D7]의 데이터를 변수 aa에 반복해서 넣게 되는데, 'txt고객명'이 변수 aa의 값과 같을 때 '스위치' 변수는 1로 유지됩니다. 'txt고객명'과 변수 aa의 값의 비교가 끝나면 '스위치' 변수가 0인지 if 문으로 비교하고 0이면 메시지 박스로 "조건에 일치하는 자료가 없습니다"를 출력합니다.
즉, '스위치' 변수는 1과 0의 값을 가질 수 있으며, 처리할 'txt고객명'이 있다면 1, 없다면 0을 반환합니다.
좀 복잡해 보이지만 차근차근 생각해 보시면 이해하실 수 있을 것 같습니다.
오늘도 좋은 하루 보내세요.
-
*2018-08-02 21:55:02
안녕하세요.
'참조행' 변수는 '참조행 = 참조행+1'과 같이 1씩 증가하는 변수로 데이터의 행을 가리킵니다. 초기값이 3이므로 3행부터 차례로 4행, 5행....으로 변하는 것이지요.
txt고객등급 = Cells(참조행, 5) 코드는 참조행이 4행일 경우, 4행 5열의 위치 데이터를 txt고객등급에 표시하라는 의미입니다.
For 문을 통해 [D4:D7]의 데이터를 변수 aa에 반복해서 넣게 되는데, 'txt고객명'이 변수 aa의 값과 같을 때 '스위치' 변수는 1로 유지됩니다. 'txt고객명'과 변수 aa의 값의 비교가 끝나면 '스위치' 변수가 0인지 if 문으로 비교하고 0이면 메시지 박스로 "조건에 일치하는 자료가 없습니다"를 출력합니다.
즉, '스위치' 변수는 1과 0의 값을 가질 수 있으며, 처리할 'txt고객명'이 있다면 1, 없다면 0을 반환합니다.좀 복잡해 보이지만 차근차근 생각해 보시면 이해하실 수 있을 것 같습니다.
오늘도 좋은 하루 보내세요.