본문 바로가기
  • 반가워요 : )
엑셀

엑셀 VBA 마지막 데이터 행열 찾기

by 교육의 기울기 2024. 8. 13.
반응형

 

 

엑셀에서 마지막행렬을 찾는 여러 가지 방법이 있습니다.  저는 마지막 행열로 이동후, 데이터가 있는 행렬을 찾는 방식을 좋아합니다. 이는 어떤 데이터를 다루냐에 따라 달라질 수 있습니다. 아래의 예시를 살펴봅시다. 

 

마지막 데이터의 행렬 찾기

 저는 A열에서 사용된 데이터중 가장 마지막 데이터를 찾아보겠습니다.

 

a24~a32까지 데이터가 있다. A32가 가장 마지막 데이터 셀이다.

A열에서 가장 마지막 데이터행을 찾습니다.

맨처음에는 A열 가장 마지막 행을 찾습니다. 이는 다음과 같이 적을 수 있습니다.

Cells(rows.count,1)

 

이것은 $A$1048576 와 같습니다. A열의 가장 마지막 행이죠. 만약

Cells(rows.count,2)

 

이렇게 찾는다면 $B$1048576과 같습니다. 이것은 cells라는 것을 알아야 합니다. 여기서는 따로 설명하지 않겠습니다. 

어쨌든 현재 상태는 $A$1048576입니다.

현재 $A$1048576

 

이제 End(xlUp)을 추가합니다.

Cells(Rows.Count, 1).End(xlUp)

 

이때 End(xlUp)은 "Ctrl + ↑"과 같은 효과를 가집니다. 그러면 End(xlUp) 후에는 마지막 데이터의 셀을 찾을 수 있게 됩니다.  

마지막 데이터를 찾았다.

위 예시에서는 A32가 가장 마지막 셀인 것을 알 수 있습니다. 여기서 row만 알아내려면 Row를 추가시킵니다.

Cells(Rows.Count, 1).End(xlUp).Row

 

이제 가장 A열에서 가장 마지막에 사용했던 행을 알 수 있게 되었습니다. 

Cells(Rows.Count, 1).End(xlUp).Row + 1

만약 이렇게 찾은 마지막 행번호에서 1을 더해주시면, 마지막 데이터행 이후에 빈 행을 찾을 수 있습니다.

Vba 마지막 데이터 열 찾기.

위와 같은 데이터영역에서 마지막 열의 값은? D열

 

 

이번에는 결론부터 말하자면 아래와 같이 사용한다면, 마지막 열을 찾을 수 있습니다.

Cells(1, Columns.Count).End(xlToLeft).Column

 

Cells(1, colums.count)는 $XFD$1와 같습니다. 마지막 열의 셀입니다.

여기서 Cells(1, Columns.Count). End(xlToLeft)로 바꾸어 가장 좌측에 있는 데이터를 찾습니다.

이는 Ctrl + ← 와 같습니다. 

마지막으로 Cells(1, Columns.Count). End(xlToLeft). Column

이와 같이 적어주시면, 해당 열의 번호를 찾아내 실수 있습니다. 

직접실행 창을 통해 실행시킨 결과, 4열이라는 결과, 즉 D열이라는 결과가 나온다.

 

다른 방법은, A1에서 가장 오른쪽으로 이동하여 열을 찾는 방법도 있습니다.

이는 데이터의 형식에 따라 다르나, 본 데이터 형식에서는 사용할 수 있습니다.

Range("A1").End(xlToRight).Column

 

VBA 데이터 구역 찾기

만약 데이터가 있는 특정 구역이 알고 싶으시다면, CurrentRegion.Address를 사용하시면 됩니다. 

여기서 CurrentRegion이란, 데이터 구역에 있는 한 셀에서 Ctrl +A를 누르는 것과 같습니다. 

 

C5 를 선택후에 Ctrl +A 를 눌렀더니, 해당 데이터 구역이 선택되었다.

이렇게 데이터 구역을 찾는 방법은 다음과 같습니다.

Range("C5").CurrentRegion.Address

위는 현재 데이터 구역의 주소를 찾는 법입니다. 여기서 행과 열의 개수를 찾을 수도 있습니다.


 

마지막으로 사용한 셀을 찾는 방법

이번에는 마지막으로 사용한 셀을 찾는 방법입니다. 사용빈도가 그렇게 많지는 않으니

알아만 두시고 나중에 생각날 때 사용하면 됩니다.

Cells.SpecialCells(xlCellTypeLastCell).Address

Cells.SpecialCells(xlCellTypeLastCell).row

Cells.SpecialCells(xlCellTypeLastCell).column

 

위와 같이, Cells.SpecialCells를 활용하시면 마지막에 사용한 셀을 찾아내 실수 있으며, 여기에 Addrss, row, column을 사용 시 주소와 행, 열 모두 찾을 수 있습니다. 

 

사용 중인 범위를 찾는 법

 

현재, D5, 부터K22 까지 사용되는중이다.

 

이는 워크시트의 메서드로서, 현재 사용되는 범위에 대한 정보를 알 수 있다. 이는 다음과 같은 코드를 사용한다.

 

Application.ActiveSheet.UsedRange.Select

Application.ActiveSheet.UsedRange.rows.count

 

위는 activesheet, 즉 현재 활성화된 워크시트에서 사용 중인 범위를 선택할 수 있고, 행의 개수도 셀 수 있습니다.

이 워크시트는 이름을 사용할 수도 있습니다. 

 


 

여기 까지 마지막 행열, 데이터 구역을 찾는 방법을 알아보았습니다. 

 

반응형

댓글