책 내용 질문하기
분명히 표값이 b4행부터 표시되어있는데요.
도서
[2012] 컴퓨터활용능력 1급 실기(엑셀, 액세스 2007 사용자용)
페이지
255
조회수
83
작성일
2014-03-18
작성자
첨부파일

분명히 표값이 b4행부터 표시되어있는데요. 왜 비쥬얼베이직(엑셀)에서

입력행 = [a4].Row + [a4].CurrentRegion.Rows.Count

입력행 값을 a4부터 잡아주는지 모르겠네요..;; 뭐 답이 그렇게 나와있는것도 확인했고 a4도 넣어보고 b4도 넣어봤는데

a4에서만 실행이 되는데 도대체 이해는 안되네요.;; 그냥 외우고 넘어가려고 했지만 저번에도 이런문제 나왔는데 외운데로

푸니깐 틀리드라구요. 왜 그런거죠?

그리고 참조행은 대충이해가 가는데 비쥬얼베이직에서

참조행 = list강좌.ListIndex

Cells(입력행, 4) = list강좌.List(참조행, 0)

→ 이렇게 기입되어 있으면 list강좌에서 클릭되는 행에 따라서 참조행이 결정되는거 맞죠?

예를 들어 list강좌표에서 두번째행의 아무값이나 클릭하게 되면 두번째행에 포함된 셀이 (1,0)이 표현되는거죠.

맞나요?;; 두서없이 말해서 죄송한데 답변좀...졸 헷갈림..ㅠ

마지막으로 p.297에 ※데이터를 추가하거나 삭제하여도 항상 마지막 데이터가 표시되어야 함 이라고 되어있는데

답에는 '입력행 = [a3].Row + [a3].CurrentRegion.Rows.Count - 1' 이렇게 나와있는데 이렇게 입력하면 마지막행이 표시되는것이 아니라 마지막행이 사라지고 새로운 값이 입렵되던데 뒤에 -1을 빼야 되는것이 아닌가요? 몇번 테스트해봤는데 계속 그렇게 나오던데요... 이것도 답변좀 부탁좀

p.s 참고로 제 메일주소 바꼈어요.;; rascalhoon@naver.com

답변
2014-03-19 11:50:02

1. b4 든 a4 든 같은 행이기 때문에 같은 결과가 나와야 합니다.

혼동 되신다면 b4로 사용하시면 되세요.

2. 네 맞습니다.

3. -1 을 하는 것은 조회할때 입니다.

질문 주신 문제는 입력하는 문제가 아니라 조회하는 문제입니다.

아래 설명을 참고해 주세요.

입력행=[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)=이름

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

좋은 하루 되세요.

"
  • *
    2014-03-19 11:50:02

    1. b4 든 a4 든 같은 행이기 때문에 같은 결과가 나와야 합니다.

    혼동 되신다면 b4로 사용하시면 되세요.

    2. 네 맞습니다.

    3. -1 을 하는 것은 조회할때 입니다.

    질문 주신 문제는 입력하는 문제가 아니라 조회하는 문제입니다.

    아래 설명을 참고해 주세요.

    입력행=[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)=이름

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

    좋은 하루 되세요.

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