http://blog.naver.com/rosa0189/60145634878
Cells(Rows.Count, "A").End(3)(2) : 제일 뒤의 (2)는 Item property를 이용한 이동이다. Item property에서 셀 이동 좌표는 아래와 같다. 그러므로 제일 마지막의 (2)는 아래로 한 칸 내려간 셀을 선택하라는 의미이다. 즉, 전체 데이터의 마지막행 바로 아래행을 가리킨다(이는 물론 기존 데이터의 제일 마지막행 바로 아래행에 새로운 데이터를 입력 즉 append 할 때 빈번히 사용된다.). 결국, .End(3)(2)는 .End(3)(2, 1)과 동일하며 이를 약식으로 표현한 것이다.
다시말해,
= Cells(Rows.Count,1).End(3).Cells(2,1)
= Cells(Rows.Count, 1).End(3)(2,1)
= Cells(Rows.Count,1).End(3)(2)
위의 3가지 다른 코드표시 방법은 동일한 결과를 얻는다.
(Offset 과의 차이점에 주의 : Item 속성에서의 (1, 1) 은 자기 자신이 되지만, Offset 속성에서의 자기자신은 (0, 0) 이며, Offset(1, 1)은 오른쪽 아래 셀이된다. 일반적으로 Offset을 시킬 때 Offset(2, 0)을 약식으로 표기하면 Offset(2)가 된다. 그리고, Offset(0, 2)의 약식표기는 Offset(, 2) 이다. )
End(3) : 아래에서 위로 올라가면서 만난 셀
End(3)(2) : 아래에서 위로 올라가면서 만난 셀의 바로 아래셀
End(3)(3) : 아래에서 위로 올라가면서 만난 셀의 2칸 아래셀
End(1)(1, 3) : 오른쪽에서 왼쪽으로 이동하다가 만난 셀의 오른쪽 2칸 떨어진 위치의 셀
End(4) : 아래로 내려가다가 처음 만난 위치의 셀
(참고로, 윗 표에서 초록색 선택하고 ActiveCell(2, 2).Activate 하면
노란색으로된 "Item"셀이 활성화 되고, 아무셀이나 선택 후 Selection(2, 2).Activate하면 선택영역의 오른쪽 아래셀이 활성화 된다. 에러가 아니다.)
종합하면, Cells(Rows.Count, "A").End(3)(2) 는 (1048576, "A") 또는 (1048576, 1) 셀, 다시 말하면 A1048576 셀로 부터 계속하여 윗셀로 위치를 이동하다가 내용이 입력된 셀을 만나면 바로 그 아래셀을 선택하는 것. 즉, 전체 데이터 중 A열의 마지막 데이터 바로 아래에 있는 셀을 가리킨다.
'컴퓨터 > 엑셀' 카테고리의 다른 글
메모에 그림넣기-완성 (0) | 2017.10.09 |
---|---|
메모에 그림표시하기 (0) | 2017.10.03 |
역피벗 즉 피벗테이블을 되돌리기 (0) | 2017.09.25 |
엑셀 VBA 셀 영역 선택하는 여러가지 방법 (0) | 2017.09.24 |
범위선택붙여넣기 (0) | 2017.09.21 |