책 내용 질문하기
[a3].CurrentRegion.Rows.Count - 3 차이와 입력행 -3 의 차이가 궁금합니다.
도서
2021 시나공 컴퓨터활용능력 1급 실기
페이지
381
조회수
232
작성일
2022-06-03
작성자
탈퇴*원
첨부파일

365p의 마지막 문제에서는 메세지 박스에 전체 몇 건인지 세야할 때

[a3].CurrentRegion.Rows.Count - 1 를 사용합니다. 

 

381p의 문제 4-3 고객번호를 입력할 때는 입력행-3 을 사용합니다.

 

이 둘의 차이가 무엇인가요?

 

 

답변
2022-06-07 20:19:16

쉽게 설명 한다면

입력행=[a3].row+[a3].currentregion.count

은 입력 버튼, 즉 컨트롤에 입력된 값을 마지막 셀뒤에 입력 할때 사용 하는 것이구요.

입력행=[a3].row+[a3].currentregion.count -1

은 조회 버튼, 즉 셀에 입력된 값의 마지막 데이터를 조회할때 사용 하는 것입니다.

[a3].row 는 a3의 행위치를 나타내므로 3이 나오구요.

 

[a3].currentregion.rows.count 는 a3부터 입력되어 있는 값들의 개수를 세게 됩니다.

 

a3부터 3줄의 데이터가 있다면 이 값은 3이 되고

 

3+3 이 되어 6 행이 되는 것이죠. (필드명 포함해서 입니다. 필드명부터 4줄이라면 4를 더해주셔야 합니다.)

 

즉 6번행부터 입력하게 합니다.

 

이것은 마지막 데이터 다음줄에 값을 입력 하는 입력 프로시저에 사용하는 것이고

 

여기에 -1 을 하신다면 마지막 줄을 조회하여 폼에 나타나게 하는 조회 프로시저를 작성 하는 것입니다.

 

이름=cells(입력행,1)

 

과 같이 나타내는 것은 이름에 셀에 입력된 값을 입력 하라는 것으로 셀에 입력된 값을 폼에 입력하게 하는

 

조회 하실때 사용하는 것이구요.

 

cells(입력행,1)=이름

 

은 셀에 폼의 컨트롤에 입력된 이름 값을 셀에 입력 하라는 것으로

 

입력 프로시저를 작성할 때 사용하는 것입니다.

 

프로시저에서 =은 같다가 아니라

 

오른쪽에 있는 데이터를 왼쪽으로 넣는다 라는 개념으로 생각 하셔야 합니다.

 

 

입력행 = [a3].row + [a3].currentregion.rows.count -1

 

이름=cells(입력행,1)

 

과 같이 작성하시면 조회를 하는 프로시저이고

 

입력행 = [a3].row + [a3].currentregion.rows.count

 

cells(입력행,1)=이름

 

으로 작성하시면 셀에 입력하는 입력 프로시저가 되는 것입니다.

 

기준행위치에서 3이 치환되고 기준범위행수에서 1이 치환되어

 

3+1 이 되어 입력행은 4가 됩니다.

 

 

첫번째 입력되는 값에는 1 이 입력되어야 하므로

 

4-3 을 해야 1이 된다는 말인 것이죠.

 

 

데이터가 계속 입력되면

 

5, 6, 7 과 같이 입력행이 늘어날 것이고 여기에 -3 을 하면 2,3,4, 와 같은 결과가 나온다는 것입니다.

 

 

좋은 하루 되세요.  

  • 관리자
    2022-06-07 20:19:16

    쉽게 설명 한다면

    입력행=[a3].row+[a3].currentregion.count

    은 입력 버튼, 즉 컨트롤에 입력된 값을 마지막 셀뒤에 입력 할때 사용 하는 것이구요.

    입력행=[a3].row+[a3].currentregion.count -1

    은 조회 버튼, 즉 셀에 입력된 값의 마지막 데이터를 조회할때 사용 하는 것입니다.

    [a3].row 는 a3의 행위치를 나타내므로 3이 나오구요.

     

    [a3].currentregion.rows.count 는 a3부터 입력되어 있는 값들의 개수를 세게 됩니다.

     

    a3부터 3줄의 데이터가 있다면 이 값은 3이 되고

     

    3+3 이 되어 6 행이 되는 것이죠. (필드명 포함해서 입니다. 필드명부터 4줄이라면 4를 더해주셔야 합니다.)

     

    즉 6번행부터 입력하게 합니다.

     

    이것은 마지막 데이터 다음줄에 값을 입력 하는 입력 프로시저에 사용하는 것이고

     

    여기에 -1 을 하신다면 마지막 줄을 조회하여 폼에 나타나게 하는 조회 프로시저를 작성 하는 것입니다.

     

    이름=cells(입력행,1)

     

    과 같이 나타내는 것은 이름에 셀에 입력된 값을 입력 하라는 것으로 셀에 입력된 값을 폼에 입력하게 하는

     

    조회 하실때 사용하는 것이구요.

     

    cells(입력행,1)=이름

     

    은 셀에 폼의 컨트롤에 입력된 이름 값을 셀에 입력 하라는 것으로

     

    입력 프로시저를 작성할 때 사용하는 것입니다.

     

    프로시저에서 =은 같다가 아니라

     

    오른쪽에 있는 데이터를 왼쪽으로 넣는다 라는 개념으로 생각 하셔야 합니다.

     

     

    입력행 = [a3].row + [a3].currentregion.rows.count -1

     

    이름=cells(입력행,1)

     

    과 같이 작성하시면 조회를 하는 프로시저이고

     

    입력행 = [a3].row + [a3].currentregion.rows.count

     

    cells(입력행,1)=이름

     

    으로 작성하시면 셀에 입력하는 입력 프로시저가 되는 것입니다.

     

    기준행위치에서 3이 치환되고 기준범위행수에서 1이 치환되어

     

    3+1 이 되어 입력행은 4가 됩니다.

     

     

    첫번째 입력되는 값에는 1 이 입력되어야 하므로

     

    4-3 을 해야 1이 된다는 말인 것이죠.

     

     

    데이터가 계속 입력되면

     

    5, 6, 7 과 같이 입력행이 늘어날 것이고 여기에 -3 을 하면 2,3,4, 와 같은 결과가 나온다는 것입니다.

     

     

    좋은 하루 되세요.  

  • 관리자
    2022-06-13 20:39:39

    결과가 같게 나오는 것이라면 어느 것을 사용하든 상관 없습니다. 

     

    입력행이라는 변수를 만들어 놨기 때문에 입력행을 사용한 것이고,

     

    이것을 풀어서 길게 코드로 작성하셔도 상관 없는 부분입니다. 

     

    좋은 하루 되세요. 

  • *
    2022-06-10 05:53:05

    제가 질문을 이상하게 했나봅니다.

     

    조회 입력 혹은 왼쪽 오른쪽이 헷갈린다는 그런 것이 아니라

     

    같은 데이터 수를 세어서 나타내는 것인데 

     

    어떤 문제에서는 [a3].CurrentRegion.Rows.Count - 3 을 사용하고 어떤 문제에서는 입력행 -3  을 사용하는 것이 이해를 못하겠다는 것입니다. 

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