책 내용 질문하기
기출유형5회/기출문제집/컴활1급 실기
도서
2021 시나공 기출문제집 컴퓨터활용능력 1급 실기
페이지
151
조회수
573
작성일
2021-04-14
작성자
탈퇴*원
첨부파일

위치=0 ,스위치=1은 왜 쓰이나요? 

For Each aa In Range("b4:b25")구문이 이해가 잘 안돼요. 

for each 구문의 형식을 알려주세요.

 

Private Sub cmd조회_Click()

    스위치 = 0

    irow = 3

    For Each aa In Range("b4:b25")

        irow = irow + 1

        If aa.Value = txt사원번호.Value Then

            txt사원번호.Value = Format(Cells(irow, 2), ">&&&&&")

            txt성명.Value = Cells(irow, 3)

            txt부서명 = Cells(irow, 4)

            txt직위 = Cells(irow, 5)

            txt신청일 = Cells(irow, 6)

            txt총점.Value = Cells(irow, 7)

            스위치 = 1

            Exit For

        End If

    Next

    If 스위치 = 0 Then

        MsgBox "사원번호가 잘못되었습니다."

    End If

End Sub


답변
2021-04-15 21:38:16

스위치변수는 임의로 변수 이름을 지정한 것입니다.

스위치변수를 이용한 이유는 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-04-15 21:38:16

    스위치변수는 임의로 변수 이름을 지정한 것입니다.

    스위치변수를 이용한 이유는 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문을 빠져나옵니다. 

     

      

    좋은 하루 되세요.  

· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.