1권 257페이지에 설명 읽는데 이해가 안 가서요 ㅠㅠ
스위치=0
스위치=1
이 의미하는 바가 뭔지 잘 모르겠구..
또 4번째줄에 참조행=참조행+1
이라고 돼있는데 왜 +1을 하는 건지 모르겠어용 ㅠㅠ

안녕하세요.
스위치
스위치변수는 txt고객명에 입력한 값과 동일한 데이터가 있었는지를 파악하기 위해 넣은 것입니다.
스위치변수의 초기값으로 0을 넣고, txt고객명과 같은지 비교하는 if문 안에 스위치=1을 넣었습니다.
그런 다음 for each문 밖에서 스위치 변수를 비교합니다.
6번 문의주신 내용이 인데요, if 스위치=0 then 으로 스위치가 0인지 비교합니다.
스위치 변수가 초기값 그대로 0 이면 txt고객명과 같은 데이터가 없다는 의미가 되고,
스위치 변수 값이 1로 변경되었다면 txt고객명과 같은 데이터가 있다는 의미가 됩니다.
스위치 변수는 on/off의 개념으로 1과 0을 사용한 것이데요, 다른 숫자를 사용하셔도 상관은 없습니다.
참조행
콤보상자나 목록상자에서 Listindex를 이용해서 상대적 위치를 가져오고,
워크시트의 정보와 더해서 참조행을 구합니다.
폼의 컨트롤에서 선택한 정보와 워크시트의 정보를 일치시키기 위해 +5 등을 추가해서 참조행을 구하기도 합니다.
즉, 참조행은 말 그대로 참조를 위한 행을 설정하는 것입니다.
다시말해 참조행은 참조되는 행번호를 가지고 있는 변수입니다.
문제3과 같은 경우
참조행=3으로 초기화 시키고, 데이터를 확인할 때
참조행=참조행+1 로 1씩 증가시켜서 실제 데이터가 존재하는 4행부터 확인하게 됩니다.
처음에 참조행에 3을 넣고, for문의 첫번째에 참조행=참조행+1을 실행하면 참조행은 4가 됩니다.
이 4는 워크시트에서 고객명이 들어 있는 범위의 첫번째 행을 의미하는 것입니다.
즉, 첫번째 고객이 들어 있는 '김현진'은 워크시트에 4행에 입력되어 있습니다.
첫번째 데이터를 비교할 때는 참조행이 4, 두번째 데이터를 비교할 때는 for 문 안에 들어 있는
'참조행=참조행+1'를 또 실행하게 되므로 참조행은 5 이렇게 1씩 증가하게 되는 것입니다.
시험에서는 제시된 문제에 따라 초기값이 달라질 수 있습니다.
For~Next
Next는 For와 짝꿍입니다.
For 문은 아래 형식이 기본 형식입니다.
For 초기값 to 최종값 step 증가분
//반복되어 실행될 코드
Next
예를 들어
For a=1 to 10
a=a+1
Next a 라면
a는 1부터 10까지 반복되면서 누적합계를 구하는 코드가 됩니다.
For문은 a의 값이 10보다 작지 않은지 확인 하고 1~10 사이의 수라면
a=a+1을 실행합니다.
next a 를 만나면 다시 for 문의 시작으로 제어가 이동합니다.
다시 a가 1~10 사이의 수인지 확인하고,
1~10 사이의 수라면 a=a+1을 수행하고, 그렇지 않으면 Next a 다음으로 제어를 이동시키며 For문을 빠져나옵니다.
이 문제에서는
For each aa in range("D4:D7")의 의미는
D4:D7 인 동안 For문 안의 코드를 실행하는 것입니다.
처음에 aa는 D4셀의 값을 가지게 되고, next를 만나면
aa가 D5의 값을 가지고 되고, 또 next를 만나면 for문의 처음으로 돌아와 aa는 D6값을 가집니다.
D7까지 반복하면서 코드를 실행하고, Next를 만나면 다시 for문으로 돌아가고 aa가 D8의 값을 가지게 되면, For문의 범위를 벗어나므로
Next 다음으로 제어가 넘어갑니다. For문이 종료되는 것이죠.
좋은 하루 보내세요.
-
관리자2021-04-27 21:55:37
안녕하세요.
스위치
스위치변수는 txt고객명에 입력한 값과 동일한 데이터가 있었는지를 파악하기 위해 넣은 것입니다.
스위치변수의 초기값으로 0을 넣고, txt고객명과 같은지 비교하는 if문 안에 스위치=1을 넣었습니다.
그런 다음 for each문 밖에서 스위치 변수를 비교합니다.6번 문의주신 내용이 인데요, if 스위치=0 then 으로 스위치가 0인지 비교합니다.
스위치 변수가 초기값 그대로 0 이면 txt고객명과 같은 데이터가 없다는 의미가 되고,
스위치 변수 값이 1로 변경되었다면 txt고객명과 같은 데이터가 있다는 의미가 됩니다.스위치 변수는 on/off의 개념으로 1과 0을 사용한 것이데요, 다른 숫자를 사용하셔도 상관은 없습니다.
참조행
콤보상자나 목록상자에서 Listindex를 이용해서 상대적 위치를 가져오고,
워크시트의 정보와 더해서 참조행을 구합니다.
폼의 컨트롤에서 선택한 정보와 워크시트의 정보를 일치시키기 위해 +5 등을 추가해서 참조행을 구하기도 합니다.
즉, 참조행은 말 그대로 참조를 위한 행을 설정하는 것입니다.
다시말해 참조행은 참조되는 행번호를 가지고 있는 변수입니다.
문제3과 같은 경우
참조행=3으로 초기화 시키고, 데이터를 확인할 때
참조행=참조행+1 로 1씩 증가시켜서 실제 데이터가 존재하는 4행부터 확인하게 됩니다.처음에 참조행에 3을 넣고, for문의 첫번째에 참조행=참조행+1을 실행하면 참조행은 4가 됩니다.
이 4는 워크시트에서 고객명이 들어 있는 범위의 첫번째 행을 의미하는 것입니다.즉, 첫번째 고객이 들어 있는 '김현진'은 워크시트에 4행에 입력되어 있습니다.
첫번째 데이터를 비교할 때는 참조행이 4, 두번째 데이터를 비교할 때는 for 문 안에 들어 있는
'참조행=참조행+1'를 또 실행하게 되므로 참조행은 5 이렇게 1씩 증가하게 되는 것입니다.시험에서는 제시된 문제에 따라 초기값이 달라질 수 있습니다.
For~Next
Next는 For와 짝꿍입니다.
For 문은 아래 형식이 기본 형식입니다.
For 초기값 to 최종값 step 증가분
//반복되어 실행될 코드
Next
예를 들어
For a=1 to 10
a=a+1
Next a 라면
a는 1부터 10까지 반복되면서 누적합계를 구하는 코드가 됩니다.
For문은 a의 값이 10보다 작지 않은지 확인 하고 1~10 사이의 수라면
a=a+1을 실행합니다.
next a 를 만나면 다시 for 문의 시작으로 제어가 이동합니다.
다시 a가 1~10 사이의 수인지 확인하고,
1~10 사이의 수라면 a=a+1을 수행하고, 그렇지 않으면 Next a 다음으로 제어를 이동시키며 For문을 빠져나옵니다.
이 문제에서는
For each aa in range("D4:D7")의 의미는
D4:D7 인 동안 For문 안의 코드를 실행하는 것입니다.
처음에 aa는 D4셀의 값을 가지게 되고, next를 만나면
aa가 D5의 값을 가지고 되고, 또 next를 만나면 for문의 처음으로 돌아와 aa는 D6값을 가집니다.
D7까지 반복하면서 코드를 실행하고, Next를 만나면 다시 for문으로 돌아가고 aa가 D8의 값을 가지게 되면, For문의 범위를 벗어나므로
Next 다음으로 제어가 넘어갑니다. For문이 종료되는 것이죠.
좋은 하루 보내세요.