소스 범위가 포함된 영역의 끝에 있는 셀을 나타내는 범위 개체를 반환합니다. 위쪽 끝 화살표, 아래쪽 끝 화살표, 왼쪽 끝 화살표 또는 오른쪽 끝 화살표를 누른 것과 동일합니다. 읽기 전용 범위 객체입니다.
--> End키를 누르고 방향표 키를 누르거나 Ctrl키를 누르고 방향표 키를 누른것과 같습니다.
Sub Macro1()
'
' Macro1 Macro
'
'
Selection.End(xlDown).Select
Selection.End(xlToLeft).Select
Selection.End(xlToRight).Select
Selection.End(xlUp).Select
End Sub
매개변수는 Direction 한 개이고 필수입니다.Data type은 XlDirection입니다.
XlDirection 열거형에는 위 그림처럼 4개가 있습니다.
XlDirection enumeration (Excel)
Office VBA reference topic
learn.microsoft.com
내장 상수값은 다음과 같습니다.
그러나 실제로는 다음과 같은 내장 상수값이 많이 사용되는데요.VBA 초기 버전에서 설정된 값이라고 합니다.
xlDown =4
xlToLeft = 1
xlToRight 2
xlUp 3
표로 만들면 다음과 같습니다.
Direction | Value | Description | |
xlDown | 4 | -4121 | Down |
xlToLeft | 1 | -4159 | To Left |
xlToRight | 2 | -4161 | To right |
xlUp | 3 | -4162 | Up |
자료가 입력된 마지막 행을 선택하는 코드입니다.
Cells(Rows.Count, 1).End(xlUp).Select
A1048576행에서 Ctrl + ↑ 를 누른것과 같습니다.
자료가 입력된 마지막 열을 선택하는 코드입니다.
Cells(1, Columns.Count).End(xlToLeft).Select
XFD1열에서 Ctrl + ←을 누른것과 같습니다.
자료가 입력된 마지막 행 번호입니다.
Cells(Rows.Count, 1).End(xlUp).Row
자료가 입력된 마지막 열 번호입니다.
Cells(1, Columns.Count).End(xlToLeft).Column
End속성을 이용해 복사하는 예제입니다.
Sub CopyWithEndExample()
Dim ws As Worksheet
Dim srcRng As Range, destRng As Range
Dim lastRow As Long
' 현재 활성화된 워크시트 설정
Set ws = ActiveSheet
' A1 셀에서 시작하는 연속된 셀 범위를 찾음
Set srcRng = ws.Range("A1", ws.Range("A1").End(xlDown))
' 복사 대상 셀 범위 설정 (여기서는 C1 셀)
Set destRng = ws.Range("C1")
' 원본 셀 범위(srcRng)를 복사하고, 대상 셀 범위(destRng)에 붙여 넣음
srcRng.Copy Destination:=destRng
End Sub
매크로 실행 전
매크로 실행 후
'Range object' 카테고리의 다른 글
[Range 개체] AdvancedFilter메서드 - 고급필터 사용하기 (0) | 2023.07.11 |
---|---|
[Range 개체] Areas속성 (0) | 2023.07.10 |
[Range 개체] EntireColumn속성 (0) | 2023.07.09 |
[Range 개체] Columns속성 (0) | 2023.07.08 |
[Range 개체] Column속성 (0) | 2023.07.07 |