Range개체의 Resize속성은 지정된 범위의 크기를 조정합니다.
OFFSET함수의 4,5번째 인수를 생각하시면 이해가 쉽습니다.
OFFSET(reference, rows, cols, [height], [width])
RowSize=Height , ColumnSize=Width에 해당합니다.
Sub ResizeRangeExample1()
Dim originalRange As Range
Dim expandedRange As Range
' 원본 범위 선택 (A1부터 B3까지)
Set originalRange = Range("A1:B3")
' 원본 범위를 확장하여 새로운 범위 생성 (A1부터 D5까지)
Set expandedRange = originalRange.Resize(5, 4)
' 새로운 범위 출력
MsgBox expandedRange.Address
End Sub
Sub ResizeRangeExample2()
Dim originalRange As Range
Dim shrinkedRange As Range
' 원본 범위 선택 (A1부터 D5까지)
Set originalRange = Range("A1:D5")
' 원본 범위를 축소하여 새로운 범위 생성 (A1부터 B3까지)
Set shrinkedRange = originalRange.Resize(3, 2)
' 새로운 범위 출력
MsgBox shrinkedRange.Address
End Sub
Resize속성은 음수를 사용할 수 없습니다.
Sub ResizeRangeExample3()
Dim originalRange As Range
Dim shrinkedRange As Range
' 원본 범위 선택 (A1부터 D5까지)
Set originalRange = Range("A1:D5")
' 음수를 사용할 수 없으므로 에러
Set shrinkedRange = originalRange.Resize(3, -2)
' 새로운 범위 출력
MsgBox shrinkedRange.Address
End Sub
RowSize를 생략하면 범위의 행 수가 동일하게 유지됩니다.
Sub ResizeRangeExample4()
Dim originalRange As Range
Dim shrinkedRange As Range
' 원본 범위 선택 (A1부터 D5까지)
Set originalRange = Range("A1:D5")
' 열 크기만 변경
Set shrinkedRange = originalRange.Resize(, 6)
' 새로운 범위 출력
MsgBox shrinkedRange.Address
End Sub
ColumnSize를 생략하면 범위의 열 수가 동일하게 유지됩니다.
Sub ResizeRangeExample5()
Dim originalRange As Range
Dim shrinkedRange As Range
' 원본 범위 선택 (A1부터 D5까지)
Set originalRange = Range("A1:D5")
' 행 크기만 변경
Set shrinkedRange = originalRange.Resize(3)
' 새로운 범위 출력
MsgBox shrinkedRange.Address
End Sub
'Range object' 카테고리의 다른 글
[Range 개체] Interior속성 (0) | 2023.07.01 |
---|---|
[Range개체] Font속성 (0) | 2023.07.01 |
[Range 개체] Offset Property (0) | 2023.06.28 |
셀 복사,잘라내기,붙여넣기 (0) | 2023.06.28 |
셀에 수식 입력하기 (0) | 2023.06.25 |