P.252 #2-3
스위치 = 0
참조행 = 3
For Each aa In Range("d4:d7")
참조행 = 참조행 + 1
If aa.Value = txt고객명.Value Then
txt고객등급.Value = Cells(참조행, 5)
txt매출금액.Value = Cells(참조행, 6)
txt결제방식.Value = Cells(참조행, 7)
스위치 = 1
Exit For
End If
Next
If 스위치 = 0 Then
MsgBox "조건에 일치하는 자료가 없습니다."
End If
질문
1. 스위치= 0 ?
어떤 것 때문에 스위치=0 나오는지, 여기서 스위치는 무엇을 의미하는건가요?
2. 참조행=3 은 고객명 등 행제목을 의미하는건가요?
3. 참조행= 참조행 +1이 왜 나타난건가요? 꼭 for each구문 안에 넣어야하나요?
4. for each aa 와 if aa.value 에서 aa는 임의의 문자를 의미하는 것인가요?
5. 스위치 =1 은 왜 나온것인가요?
스위치변수는 임의로 변수 이름을 지정한 것입니다.
스위치변수를 이용한 이유는 txt고객명에 입력한 값과 동일한 데이터가 있었는지를 파악하기 위해 넣은 것입니다.
스위치변수의 초기값으로 0을 넣고, txt고객명과 같은지 비교하는 if문 안에 스위치=1을 넣었습니다.
그런 다음 for each문 밖에서 스위치 변수를 비교합니다.
스위치 변수가 초기값 그대로 0 이면 txt고객명과 같은 데이터가 없다는 의미가 되고,
스위치 변수 값이 1로 변경되었다면 txt고객명과 같은 데이터가 있다는 의미가 됩니다.
스위치 변수는 on/off의 개념으로 1과 0을 사용한 것이데요, 다른 숫자를 사용하셔도 상관은 없습니다.
비슷한 유형의 문제가 나오면 스위치는 이런 식으로 사용하셔도 됩니다. 물론, 문제 조건에 따라 변경될 수 있습니다.
처음에 참조행에 3을 넣고, for문의 첫번째에 참조행=참조행+1을 실행하면 참조행은 4가 됩니다.
이 4는 워크시트에서 고객명이 들어 있는 범위의 첫번째 행을 의미하는 것입니다.
즉, 첫번째 고객이 들어 있는 '김현진'은 워크시트에 4행에 입력되어 있습니다.
첫번째 데이터를 비교할 때는 참조행이 4, 두번째 데이터를 비교할 때는 for 문 안에 들어 있는
'참조행=참조행+1'를 또 실행하게 되므로 참조행은 5 이렇게 1씩 증가하게 되는 것입니다.
시험에서는 제시된 문제에 따라 초기값이 달라질 수 있습니다.
aa도 변수명입니다.
워크시트의 값을 조회하는 문제이므로 데이터가 들어간 표1의 [D4:D7] 영역 동안 검색을 하면 됩니다.
스위치=1은 앞서 설명드렸듯이
스위치 변수 값이 1로 변경되었다면 txt고객명과 같은 데이터가 있다는 의미하므로 for문을 빠져나옵니다.
좋은 하루 되세요.
-
관리자2021-07-07 19:59:19
스위치변수는 임의로 변수 이름을 지정한 것입니다.
스위치변수를 이용한 이유는 txt고객명에 입력한 값과 동일한 데이터가 있었는지를 파악하기 위해 넣은 것입니다.
스위치변수의 초기값으로 0을 넣고, txt고객명과 같은지 비교하는 if문 안에 스위치=1을 넣었습니다.
그런 다음 for each문 밖에서 스위치 변수를 비교합니다.스위치 변수가 초기값 그대로 0 이면 txt고객명과 같은 데이터가 없다는 의미가 되고,
스위치 변수 값이 1로 변경되었다면 txt고객명과 같은 데이터가 있다는 의미가 됩니다.스위치 변수는 on/off의 개념으로 1과 0을 사용한 것이데요, 다른 숫자를 사용하셔도 상관은 없습니다.
비슷한 유형의 문제가 나오면 스위치는 이런 식으로 사용하셔도 됩니다. 물론, 문제 조건에 따라 변경될 수 있습니다.
처음에 참조행에 3을 넣고, for문의 첫번째에 참조행=참조행+1을 실행하면 참조행은 4가 됩니다.
이 4는 워크시트에서 고객명이 들어 있는 범위의 첫번째 행을 의미하는 것입니다.
즉, 첫번째 고객이 들어 있는 '김현진'은 워크시트에 4행에 입력되어 있습니다.첫번째 데이터를 비교할 때는 참조행이 4, 두번째 데이터를 비교할 때는 for 문 안에 들어 있는
'참조행=참조행+1'를 또 실행하게 되므로 참조행은 5 이렇게 1씩 증가하게 되는 것입니다.시험에서는 제시된 문제에 따라 초기값이 달라질 수 있습니다.
aa도 변수명입니다.
워크시트의 값을 조회하는 문제이므로 데이터가 들어간 표1의 [D4:D7] 영역 동안 검색을 하면 됩니다.
스위치=1은 앞서 설명드렸듯이
스위치 변수 값이 1로 변경되었다면 txt고객명과 같은 데이터가 있다는 의미하므로 for문을 빠져나옵니다.좋은 하루 되세요.