Vba:마지막으로 사용한 줄을 찾는 방법
VBA에서 다음 기본 구문을 사용하여 Excel 시트에서 마지막으로 사용된 행을 찾을 수 있습니다.
Sub FindLastRow()
Range(" D2 ")=Cells.Find("*",Range(" A1 "),xlFormulas,xlPart,xlByRows,xlPrevious,False).Row
End Sub
이 특정 예는 현재 시트에 사용된 마지막 행을 검색하고 D2 셀에 결과를 반환합니다.
대신 메시지 상자의 마지막 줄을 표시하려면 다음 구문을 사용할 수 있습니다.
Sub FindLastRow()
Dim LastRow As Long
LastRow=Cells.Find("*", Range(" A1 "),xlFormulas,xlPart,xlByRows,xlPrevious,False).Row
MsgBox " Last Row: " & LastRow
End Sub
다음 예에서는 이러한 각 방법을 실제로 사용하는 방법을 보여줍니다.
예 1: VBA를 사용하여 마지막 행을 찾고 결과를 셀에 표시
다양한 농구 선수에 대한 정보가 포함된 다음과 같은 데이터 세트가 Excel에 있다고 가정해 보겠습니다.
다음 매크로를 생성하여 이 Excel 시트에 사용된 마지막 줄을 찾고 결과를 D2 셀에 표시할 수 있습니다.
Sub FindLastRow()
Range(" D2 ")=Cells.Find("*",Range(" A1 "),xlFormulas,xlPart,xlByRows,xlPrevious,False).Row
End Sub
이 매크로를 실행하면 다음과 같은 출력이 나타납니다.
셀 D2 에는 값 11 이 포함되어 있습니다.
이는 이 특정 시트에 사용된 마지막 행이 행 11임을 알려줍니다.
또한 사용된 셀 앞에 빈 셀이 있는 경우 이 매크로는 항상 마지막으로 사용된 행을 찾습니다.
예를 들어 다음 데이터세트에서 매크로를 실행한다고 가정해 보겠습니다.
셀 D2 에는 값이 포함된 마지막 행이므로 값 16 이 포함됩니다.
예 2: VBA를 사용하여 마지막 행을 찾고 메시지 상자에 결과 표시
대신 시트에서 마지막으로 사용된 행을 찾아 메시지 상자에 행 번호를 표시한다고 가정해 보겠습니다.
이를 위해 다음 매크로를 생성할 수 있습니다:
Sub FindLastRow()
Dim LastRow As Long
LastRow=Cells.Find("*", Range(" A1 "),xlFormulas,xlPart,xlByRows,xlPrevious,False).Row
MsgBox " Last Row: " & LastRow
End Sub
이 매크로를 실행하면 다음과 같은 출력이 나타납니다.
메시지 상자는 시트에 사용된 마지막 행이 행 11 임을 알려줍니다.
참고 : 여기에서 VBA Find 메서드에 대한 전체 설명서를 찾을 수 있습니다.
추가 리소스
다음 자습서에서는 VBA에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.
VBA:범위의 평균값을 계산하는 방법
VBA:범위 내 행 수를 계산하는 방법
VBA: 범위 내 중복 값을 제거하는 방법