반응형
시트의 마지막 데이터(행 또는 열)가 몇번째 셀에 있는지 알고싶다. 쉽게 알아내보자.
1. 테스트 환경 구축
위 그림에서 셀 (10,"A"), (7,"C"), (4,"E"), (2,"H") 네 곳에 '마지막'이라는 글자를 입력하였다. 이 글자들을 활용해 위치를 찾아내보자.
2. vba 코드
1 2 3 4 5 6 7 8 9 | Sub 마지막_위치_알아내기() Dim LastRow As Integer Dim LastCol As Integer LastRow = Sheets(1).Cells(Rows.Count, "A").End(xlUp).Row LastCol = Sheets(1).Cells(2, Columns.Count).End(xlToLeft).Column End Sub | cs |
육안으로 봤을 때 A열의 마지막 데이터는 10번째 칸이고, 2행의 마지막 데이터는 8번째(H) 칸에 있음을 확인 할 수 있다. 위 코드를 실행했을 때 LastRow에는 10, LastCol에는 8의 값이 들어가면 정상적으로 마지막 데이터의 위치를 찾는다고 볼 수 있다.
코드를 실행하면 원했던 결과값을 얻을 수 있다. 만약 A열 외 다른 열의 마지막 위치를 알고 싶다면, A대신 다른 문자를 쓰면된다. 그리고 꼭 문자가 아니더라도 숫자로도 인식된다. 나는 매번 행열이 헷갈리기 때문에 아직도 문자를 이용하고 있다.
행도 마찬가지로 다른 행의 마지막 위치를 알고 싶다면 다른 숫자를 입력하면 쉽게 알아낼 수 있다.
이 것말고도 다른 방법들이 있겠지만 엑셀vba를 시작하고 쭈욱 이것만 쓰다보니 습관처럼 요녀석을 쓰게되었다.
1 2 3 4 5 6 7 8 9 | Sub 마지막_위치_알아내기() Dim LastRow As Integer Dim LastCol As Integer LastRow = Sheets(1).Cells(Rows.Count, "A").End(xlUp).Row LastCol = Sheets(1).Cells(2, Columns.Count).End(xlToLeft).Column End Sub | cs |
위 코드는 아무런 데이터 없는 행열에서 마지막 위치는 어떤값이 나올까? 궁금했다. 실행해보자.
데이터가 없는 구역에서는 1이란 값을 뱉어냈다. 궁금증 해결!
반응형
'컴퓨터 공부 > 엑셀 & VBA' 카테고리의 다른 글
[엑셀vba] 숨겨진 시트들 한꺼번에 숨기기 취소하기 (0) | 2020.12.09 |
---|---|
[엑셀vba] 편집기 도킹 기능 해제하기 (0) | 2020.12.08 |
[엑셀vba] vba코드 실컷 만들었더니 사라진다면? (0) | 2020.11.24 |
[엑셀] 사용자 정의 폼에서 다양한 색깔을 써보자 (2) | 2020.11.20 |
[엑셀vba] batch 파일을 만들어서 실행시키자! (0) | 2020.11.19 |