기본 모의고사 4회에서 프로시저 작성 시
입력행에 [a3].row + [a3].currentregion.rows.count 로 되어 있습니다.
아이러니한 점은 기본 모의고사 5회와 6회에서 입력행은
셀 주소가 [a3]가 아닌 [b3]로 되어있더라구요.
[b3]를 [a3]로 바꿔서 입력 후 실행해도 [b3]를 입력할때의 결과와 똑같이 표시되던데,
답지에는 [b3]로 되어 있어서 차이점이 궁금합니다.
또한 [a3] or [b3].row는 3행을 반환한다는 것은 알겠는데, [a3] or [b3].currentregion.rows.count 의 풀이가 잘 이해되지 않습니다. 인접한 셀 범위 영역이라는게 정확하게 어떠한 것을 뜻하는지 (ex) x행, x열...) 궁금합니다.
마지막으로, 입력행의 .currentregion.rows.count 에서 어떠한 경우에 count -1 을 하는지 안하는지 궁금합니다.
엑셀에서 연속된 자료가 있는 곳을 하나의 표로 봅니다.
아래 그림에서는 고객번호 필드명 부터 연결 되어 있기때문에 여기부터 하나의 표로 봅니다. 그래서 [a3]이 되는 것이구요.

아래그림은 [표1]부터 연속적으로 표시되고 있기 때문에 [b1]이 됩니다.

이렇게 데이터가 처음 시작하는 부분을 위치로 잡으시면 됩니다.
a,b 등열은 상관이 없구요. 행만 정확하다면 정확한 결과가 나오므로 행이 정확한지 확인 하셔서 다시 작성해 보세요.
쉽게 설명 한다면
입력행=[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)=이름
으로 작성하시면 셀에 입력하는 입력 프로시저가 되는 것입니다.
데이터를 추가하거나 삭제하여도 항상 마지막 데이터 다음에 입력되어야 함
은 입력행 = [a3].row + [a3].currentregion.rows.count 을 입력하면 됩니다.
좋은 하루 되세요.
-
*2018-01-07 17:15:18
엑셀에서 연속된 자료가 있는 곳을 하나의 표로 봅니다.
아래 그림에서는 고객번호 필드명 부터 연결 되어 있기때문에 여기부터 하나의 표로 봅니다. 그래서 [a3]이 되는 것이구요.

아래그림은 [표1]부터 연속적으로 표시되고 있기 때문에 [b1]이 됩니다.
이렇게 데이터가 처음 시작하는 부분을 위치로 잡으시면 됩니다.
a,b 등열은 상관이 없구요. 행만 정확하다면 정확한 결과가 나오므로 행이 정확한지 확인 하셔서 다시 작성해 보세요.
쉽게 설명 한다면
입력행=[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)=이름
으로 작성하시면 셀에 입력하는 입력 프로시저가 되는 것입니다.
데이터를 추가하거나 삭제하여도 항상 마지막 데이터 다음에 입력되어야 함
은 입력행 = [a3].row + [a3].currentregion.rows.count 을 입력하면 됩니다.
좋은 하루 되세요.