For Each ~Next 문에 대해서 알려주시고
스위치변수가 무엇이고 왜 0으로 초기화 하는지와
참조행변수를 왜 3으로 초기화 하는지 알려주세요
안녕하세요.
For Each 개체변수 In 컬렉션 개체
실행문 컬렉션 개체의 수만큼 명령 코드를 반복 실행한다.
Next 개체변수
해당 문제에서는 컬렉션 개체를 'Range(“B4:B25”)'로 지정했으므로 b4:b25 영역의 셀의 개수만큼을 반복하여 실행합니다.
- 스위치변수는 임의로 변수 이름을 지정한 것입니다. 스위치변수를 이용한 이유는 txt사원번호에 입력한 값과 동일한 데이터가 있었는지를 파악하기 위해 넣은 것입니다. 스위치변수의 초기값으로 0을 넣고, txt사원번호와 같은지 비교하는 if문 안에 스위치=1을 넣었습니다. 그런 다음 for each문 밖에서 스위치 변수가 1인지를 비교합니다. 스위치 변수가 초기값 그대로 0이 있으면 txt사원번호와 같은 데이터가 없다는 의미가 되고, 스위치 변수 값이 1로 변경되었다면 txt사원번호와 같은 데이터가 있다는 의미가 됩니다.
- 참조행을 3으로 초기화한 이유는 워크시트에서 실제 데이터가 4행부터 입력되어 있는데, for Each 문에서 '참조행 = 참조행 + 1'을 실행했을 때 4가 되게 하기 위해 참조행을 3으로 초기화한 것입니다.
위 문제는 상당히 어려운 문제로, 정기 시험에 한번 출제된 적이 있어 교재에 넣은 것입니다. 다시 해설을 읽어보시고 그래도 이해가 안되면 다음으로 넘어가는 것이 좋을듯 합니다.
즐거운 하루 되세요.
-
*2018-06-26 16:35:42
안녕하세요.
For Each 개체변수 In 컬렉션 개체
실행문 컬렉션 개체의 수만큼 명령 코드를 반복 실행한다.
Next 개체변수해당 문제에서는 컬렉션 개체를 'Range(“B4:B25”)'로 지정했으므로 b4:b25 영역의 셀의 개수만큼을 반복하여 실행합니다.
- 스위치변수는 임의로 변수 이름을 지정한 것입니다. 스위치변수를 이용한 이유는 txt사원번호에 입력한 값과 동일한 데이터가 있었는지를 파악하기 위해 넣은 것입니다. 스위치변수의 초기값으로 0을 넣고, txt사원번호와 같은지 비교하는 if문 안에 스위치=1을 넣었습니다. 그런 다음 for each문 밖에서 스위치 변수가 1인지를 비교합니다. 스위치 변수가 초기값 그대로 0이 있으면 txt사원번호와 같은 데이터가 없다는 의미가 되고, 스위치 변수 값이 1로 변경되었다면 txt사원번호와 같은 데이터가 있다는 의미가 됩니다.
- 참조행을 3으로 초기화한 이유는 워크시트에서 실제 데이터가 4행부터 입력되어 있는데, for Each 문에서 '참조행 = 참조행 + 1'을 실행했을 때 4가 되게 하기 위해 참조행을 3으로 초기화한 것입니다.
위 문제는 상당히 어려운 문제로, 정기 시험에 한번 출제된 적이 있어 교재에 넣은 것입니다. 다시 해설을 읽어보시고 그래도 이해가 안되면 다음으로 넘어가는 것이 좋을듯 합니다.
즐거운 하루 되세요.