'마지막 셀'에 해당되는 글 1건

  1. 2015.11.20 [엑셀 VBA #9] 값이 있는 마지막 셀을 선택, End 속성 3



[엑셀 VBA #9] 값이 있는 마지막 셀을 선택, End 속성







엑셀에서는 컨트롤 키를 사용해서 값이 있는 셀의 끝으로 이동할 수 있습니다. (컨트롤 + 방향키)


엑셀 VBA에서도 물론 가능합니다.


End 속성을 사용하면 됩니다.






Cells(8, 7).End(1).Select









Cells(3, 3).End(2).Select









자, 여기서 의문이 생기죠.

분명히 마지막 셀으로 이동한다고 했는데, 실제로 사용해보니 그렇지 않습니다.

값이 있는 셀을 선택했을 경우 공백을 만나면 멈춰버립니다.


End 속성은 선택된 셀로부터 일정 방향으로 한 칸씩 이동하면서 마지막 값을 만나면 멈춥니다.


만약 공백이 듬성듬성 있는 데이터베이스에서 진짜로 마지막에 위치한 값을 찾으려면 어떻게 해야 할까요?


답은 간단합니다. 반대로 하면 됩니다.


빈 칸을 선택 후 End 속성을 사용하면, 첫 번째 만나는 값이 있는 셀에서 멈춰버립니다.


컨트롤 + 방향키로 선택하는것과 100% 같습니다.






Rows.Count, Columns.Count 속성



Row.Count는 엑셀이 허용하는 행 개수의 최대치를 나타냅니다.


Columns.Count는 엑셀이 허용한는 열 개수의 최대치를 나타냅니다.


엑셀 2013 기준으로 최대 행 개수는 1048576개, 열 개수는 16384개입니다.


따라서 맨 끝 행, 혹은 맨 끝 열부터 셀을 한 칸씩 이동했을 때, 만나는 첫 번째 셀이 값을 지닌 마지막 셀이 되는 것입니다.







Cells(Rows.Count, 7).End(3).Select





맨 아래 셀에서 한 칸씩 올라오면서(End(3)) 만나는 첫 셀을 선택




Cells(8, Columns.Count).End(1).Select





맨 오른쪽 셀에서 한 칸씩 좌측으로 이동하면서(End(1)) 만나는 첫 셀을 선택







응용하기


그렇다면 맨 마지막 셀도 아니고, 마지막 셀의 그 다음 셀을 선택하고자 한다면 어떻게 해야할까요?


저번 시간에 배운 Offset 속성을 사용하면 됩니다.


Cells(Rows.Count, 7).End(3).Offset(1,0).Select











Posted by Simon K
: