책 내용 질문하기
질문이요
도서
[2011] 컴퓨터활용능력 1급 실기(엑셀, 액세스 2003 사용자용)
페이지
433
조회수
88
작성일
2011-10-24
작성자
첨부파일

VBA에서 2번 입력행=[a3].rpw+[a3].currentregion.rows.count-1 이라고 되어있는데 왜 -1을 하나요?

밑에 설명을 봤는데 이해가 잘 되지 않아서요 ㅠ

그리고 txt반명=cells(입력행,1) 이렇게 나오는 식을

cells(입력행,1)= txt반명 이런식으로 바꿔서 입력하면 안되나요? 안된다면 그 이유좀요~

그리고 P.440쪽에서 3.고급필터 에서 D23셀을 왜 위의 표에 있는 그대로("최종주문일") 쓰지 않고 "주문일"이라고 쓰나요?

P.441쪽에서 문제2의 1번 직원수 구하는 문제식이 =SUM(IF(~~, 1)) 되있는데 여기서 왜 1을 붙이나요?

p.456 vba문제에서 폼 초기화 프로시저 그 부분 있잔아요

lst신상목록.rowsource=~

이렇게 되어있는데 rowsource 말고 additem은 안되나요?

답변
2011-10-25 16:02:32

1,2.

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

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

-1 을 쓰는 것은 조회할때 사용하는 것이고, -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.

식을 이용하여 true나 false 값이 나올때 필드명을 원본데이터에 없는 필드명을 써서

가상의 필드를 만들고 이 가상의 필드에서 true 값만 필터해 내는 것입니다.

만약 수량이 평균이상인 값을 구하는데 수량이라는 필드가 있고

수량

=a1>=average($a$1:$a$10)

으로 쓰게 되면 식에서 나온 값이 true 나 false가 되는데

필드명을 수량으로 쓰시면 수량으로 등록된 10,20 30 40 등과 true 와 false 를 비교하게 됩니다.

10=false 는 전혀 같은 값이 될 수 없겠죠.

그러므로 필터를 하지 않게 되는 것입니다.

이런 이유로 가상의 필드를 만들어 그 가상의 필드에서 true 값만 필터하게 되는 것입니다.

이 가상의 필드는 사용자가 직접 만들어 주시면 됩니다.

아래그림과 같이 매출평균 이라던지

매출의평균 등 임의로 작성하셔서 상관 없습니다.

원본 데이터에 있는 필드명(월별, 품명,전월이월,매입수량,매출수량,매출금액,차월이월, 매출이익)만 아니면 됩니다.

4. additem 은 목록을 하나하나 추가할때 사용하는 것이구요.

rowsource 는 셀에 입력된 범위를 지정해야 할때 사용하는 것입니다.

셀범위가 지정되었다면 rowsource 를 사용하세요.

좋은 하루 되세요.

"
  • *
    2011-10-25 16:02:32

    1,2.

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

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

    -1 을 쓰는 것은 조회할때 사용하는 것이고, -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.

    식을 이용하여 true나 false 값이 나올때 필드명을 원본데이터에 없는 필드명을 써서

    가상의 필드를 만들고 이 가상의 필드에서 true 값만 필터해 내는 것입니다.

    만약 수량이 평균이상인 값을 구하는데 수량이라는 필드가 있고

    수량

    =a1>=average($a$1:$a$10)

    으로 쓰게 되면 식에서 나온 값이 true 나 false가 되는데

    필드명을 수량으로 쓰시면 수량으로 등록된 10,20 30 40 등과 true 와 false 를 비교하게 됩니다.

    10=false 는 전혀 같은 값이 될 수 없겠죠.

    그러므로 필터를 하지 않게 되는 것입니다.

    이런 이유로 가상의 필드를 만들어 그 가상의 필드에서 true 값만 필터하게 되는 것입니다.

    이 가상의 필드는 사용자가 직접 만들어 주시면 됩니다.

    아래그림과 같이 매출평균 이라던지

    매출의평균 등 임의로 작성하셔서 상관 없습니다.

    원본 데이터에 있는 필드명(월별, 품명,전월이월,매입수량,매출수량,매출금액,차월이월, 매출이익)만 아니면 됩니다.

    4. additem 은 목록을 하나하나 추가할때 사용하는 것이구요.

    rowsource 는 셀에 입력된 범위를 지정해야 할때 사용하는 것입니다.

    셀범위가 지정되었다면 rowsource 를 사용하세요.

    좋은 하루 되세요.

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