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은 안되나요?
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 를 사용하세요.
좋은 하루 되세요.
"