매크로 작성문제에서요
c9셀에 c6셀과 동일하게 입력하라고 했는데
왜 동일하게 입력해야하나요?? 그리고무조건 c9셀에 입력해야하는건가요?ㅠ
p.458 vba문제에서요
조회버튼 프로시저 작성할 때 count-1 되어있는데
이때까지 다른문제에서는 count뒤에 -1 붙는 문제가 없었는데
어떤 경우에 쓰는건가요?
(기준행 제외하고, 순수하게 데이터 범위의 행수를 구하기 위한 것이란 건 알겟는데요..)
매크로 작성문제는 페이지가 없어서 답변을 어떻게 해야할 지 모르겠스빈다.
vba문제는요
입력행=[b3].row 까지 하면 현재 행의 수가 나오죠
즉 3이 되는 겁니다.
그리고 [b3].currentregion.rows.count를 하면 연속되어있는 셀 수가 나옵니다.
이게 경우에 따라서 계산을 해보면 현재 표에 모두 연결되어있는 행이 데이터만 있을 때는 제목아래 데이터가 3개가 있다하면 4라고 나오거든요 그럼 3+4가 되어서 7이 되죠
이럴땐 문제 없이 괜찮습니다.
그런데 데이터가 있는 표바로 위의 셀에 날짜라든지 표에 대한 title이라든지(ex>여름휴가 분석) 요런애들이 붙어있으면 5가 나오게 되요 [b3]번 위에 1개, [b3]1개, [b3]아랫쪽으로 데이터가 3개 합치면 5개죠...
그럼 3+5가 되어서 8이 되어버리죠
이런 표는 6번까지 데이터가 입력되어있기 때문에 7번에 새로운 데이터가 들어가야하거든요
이럴때 -1을 해야합니다.
그리고 대부분의 경우는 조회를 할때는 마지막에 있는 데이터를 불러와야 하기 때문에 새로운 셀의 위치가 나오면 안되는 거죠
위의 계산식은 항상 새로운 셀로 가는 계산식입니다.
그럼 새로운 셀 바로 위에 마지막 데이터가 있기 때문에 그럴때 -1을 하게 됩니다......
답이 좀 어수선 하군요...죄송합니다.
-
*2013-07-08 19:39:46
매크로 작성문제는 페이지가 없어서 답변을 어떻게 해야할 지 모르겠스빈다.
vba문제는요
입력행=[b3].row 까지 하면 현재 행의 수가 나오죠
즉 3이 되는 겁니다.
그리고 [b3].currentregion.rows.count를 하면 연속되어있는 셀 수가 나옵니다.
이게 경우에 따라서 계산을 해보면 현재 표에 모두 연결되어있는 행이 데이터만 있을 때는 제목아래 데이터가 3개가 있다하면 4라고 나오거든요 그럼 3+4가 되어서 7이 되죠
이럴땐 문제 없이 괜찮습니다.
그런데 데이터가 있는 표바로 위의 셀에 날짜라든지 표에 대한 title이라든지(ex>여름휴가 분석) 요런애들이 붙어있으면 5가 나오게 되요 [b3]번 위에 1개, [b3]1개, [b3]아랫쪽으로 데이터가 3개 합치면 5개죠...
그럼 3+5가 되어서 8이 되어버리죠
이런 표는 6번까지 데이터가 입력되어있기 때문에 7번에 새로운 데이터가 들어가야하거든요
이럴때 -1을 해야합니다.
그리고 대부분의 경우는 조회를 할때는 마지막에 있는 데이터를 불러와야 하기 때문에 새로운 셀의 위치가 나오면 안되는 거죠
위의 계산식은 항상 새로운 셀로 가는 계산식입니다.
그럼 새로운 셀 바로 위에 마지막 데이터가 있기 때문에 그럴때 -1을 하게 됩니다......
답이 좀 어수선 하군요...죄송합니다.
-
*2013-07-09 09:59:06
동일한 식을 입력 하셔야 이식에서 면접과 필기의 반영비율에 따른 가중평균을 구할 수 있습니다.
값이 변경될때 가중평균이 어떻게 변하는지 알기 위한 것이죠.
"쉽게 설명 한다면
입력행=[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)=이름
으로 작성하시면 셀에 입력하는 입력 프로시저가 되는 것입니다.
좋은 하루 되세요.