VBA Range.End (xlDown, xlUp, xlToRight, xlToLeft)
In this Article
이 튜토리얼에서는 VBA에서 Range.End 속성을 사용하는 방법을 보여드립니다.
Excel 통합 문서 또는 워크시트에서 수동으로 수행하는 대부분의 작업은 VBA 코드에서 자동화할 수 있습니다.
Excel에서 비어 있지 않은 셀 범위가 있는 경우 Ctrl+아래 화살표를 누르면 커서가 현재 있는 열의 마지막 비어 있지 않은 셀로 이동합니다. 마찬가지로 Ctrl+위쪽 화살표를 누르면 커서가 비어 있지 않은 첫 번째 셀로 이동합니다. 행의 시작 또는 끝으로 이동하기 위해 Ctrl+오른쪽 화살표 또는 Ctrl+왼쪽 화살표를 사용하는 경우에도 동일하게 적용됩니다. 이러한 모든 키 조합은 End 함수를 사용하여 VBA 코드 내에서 사용할 수 있습니다.
Range End 속성과 구문
The Range.End 속성을 사용하면 작업 중인 현재 영역 내의 특정 셀로 이동할 수 있습니다.
표현식.End (방향)
표현식은 시작하려는 셀의 주소(Range)입니다(예: Range(“A1”) )
END는 제어하려는 Range 객체의 속성입니다.
방향은 사용할 수 있는 Excel 상수입니다. 사용할 수 있는 방향은 xlDown, xlToLeft, xlToRight, xlUp 의 4가지 입니다.
마지막 셀로 이동하기
아래 프로시저는 현재 영역에서 마지막 셀로 이동합니다.
Sub GoToLast()
'현재 영역에서 마지막 셀로 이동
Range("A1").End(xlDown).Select
End Sub
행 개수 세기
다음 프로시저에서는 Range End 속성과 함께 xlDown 상수를 사용하여 현재 영역에 있는 행 수를 계산할 수 있습니다.
Sub GoToLastRowofRange()
Dim rw As Integer
Range("A1").Select
'현재 영역의 마지막 행을 가져옵니다.
rw = Range("A1").End(xlDown).Row
'사용된 행 수를 표시합니다.
MsgBox "이 범위에서 사용된 마지막 행은 " & rw
End Sub
아래는 xlToRight 상수를 사용하여 범위의 열 개수를 계산합니다.
Sub GoToLastCellofRange()
Dim col As Integer
Range("A1").Select
'현재 영역의 마지막 열을 가져옵니다.
col = Range("A1").End(xlToRight).Column
'사용된 열 수를 표시합니다.
MsgBox "이 범위에서 사용된 마지막 열은 " & col
End Sub
배열 만들기
아래 프로시저에서는 셀 범위의 첫 번째 셀에서 시작한 다음 End(xlDown) 속성을 사용하여 셀 범위의 마지막 셀을 찾을 수 있습니다. 그런 다음 범위의 전체 행을 사용하여 배열을 ReDim하여 전체 범위를 반복하여 배열을 정의할 수 있습니다.
Sub PopulateArray()
'배열 변수를 정의합니다
Dim strSuppliers() As String
'행 개수를 계산할 정수 변수를 정의합니다
Dim n As Integer
'행 개수를 계산합니다
n = Range("B1", Range("B1").End(xlDown)).Rows.Count
'배열을 초기화하고 정의합니다
ReDim strCustomers(n)
'반복문을 위한 정수 변수를 정의합니다
Dim i As Integer
'배열을 생성합니다
For i = 0 To n
strCustomers(i) = Range("B1").Offset(i, 0).Value
Next i
'배열의 값으로 메시지 박스를 표시합니다
MsgBox Join(strCustomers, vbCrLf)
End Sub
이 프로시저를 실행하면 다음과 같은 메시지 박스가 생성됩니다.