Range 개체

Resize 속성

노만e 2025. 3. 12. 06:31

Resize 속성은 특정 범위의 크기를 조정할 때 사용됩니다.

즉, 기준 셀을 유지하면서 행 또는 열의 개수를 동적으로 변경할 수 있습니다.


1. 기본 문법

Range("기준셀").Resize(행 개수, 열 개수)
  • 행 개수: 변경할 행 개수 (생략하면 기존 행 개수 유지)
  • 열 개수: 변경할 열 개수 (생략하면 기존 열 개수 유지)

2. 예제

📌 1개의 셀을 3x2 범위로 확장

Sub Resize_예제1()
Range("A1").Resize(3, 2).Select ' A1을 기준으로 3행 2열 선택
End Sub

📌 A1을 기준으로 3행 × 2열(A1:B3) 범위를 선택


📌 기존 범위에서 행 개수만 변경

Sub Resize_행만_변경()
Range("A1:A2").Resize(5).Select ' 행 개수를 5로 변경 (A1:A5)
End Sub

📌 A1:A2 → A1:A5로 확장 (열 개수는 그대로)


📌 기존 범위에서 열 개수만 변경

Sub Resize_열만_변경()
Range("A1:B1").Resize(, 4).Select ' 열 개수를 4로 변경 (A1:D1)
End Sub

📌 A1:B1 → A1:D1로 확장 (행 개수는 그대로)


📌 기존 범위에서 행과 열 개수 모두 변경

Sub Resize_행과열_변경()
Range("B2").Resize(4, 3).Select ' B2를 기준으로 4행 3열 선택 (B2:D5)
End Sub

📌 B2 → B2:D5로 확장


📌 동적으로 범위 확장

Sub 동적_Resize()
Dim lastRow As Long
lastRow = Range("A1").End(xlDown).Row ' A1에서 마지막 데이터 행 찾기
Range("A1").Resize(lastRow, 1).Select ' A1에서 마지막 행까지 확장
End Sub

📌 A1에서 데이터가 있는 마지막 행까지 범위를 자동 확장


📌 Resize를 활용한 데이터 입력

Sub Resize_데이터입력()
Range("B2").Resize(3, 2).Value = "Hello" ' B2:D4 범위에 "Hello" 입력
End Sub

📌 B2:D4에 "Hello" 입력


📌 Resize를 활용한 데이터 삭제

Sub Resize_데이터삭제()
Range("C3").Resize(5, 2).ClearContents ' C3:D7 데이터 삭제
End Sub

📌 C3:D7 범위의 데이터 삭제


📌 Resize를 활용한 서식 변경

Sub Resize_서식변경()
Range("A1").Resize(5, 3).Interior.Color = RGB(255, 255, 0) ' 노란색 배경 적용
End Sub

📌 A1:C5 범위의 배경색을 노란색으로 변경


3. Resize와 Offset 함께 사용

Resize와 Offset을 함께 사용하면 기준 범위를 이동하면서 크기를 조절할 수 있습니다.

📌 한 칸 아래로 이동 후 3x2 범위 선택

Sub Resize_Offset_활용()
Range("A1").Offset(1, 1).Resize(3, 2).Select ' A2를 기준으로 3x2 선택 (B2:C4)
End Sub

📌 A1에서 한 칸 아래, 한 칸 오른쪽으로 이동 후 3x2 크기 설정


📝 정리

기능
VBA 코드
1개의 셀을 특정 크기로 확장
Range("A1").Resize(3,2).Select
행 개수만 변경
Range("A1:A2").Resize(5).Select
열 개수만 변경
Range("A1:B1").Resize(,4).Select
행과 열 개수 모두 변경
Range("B2").Resize(4,3).Select
마지막 데이터 행까지 동적 확장
Range("A1").Resize(lastRow,1).Select
Resize를 활용한 데이터 입력
Range("B2").Resize(3,2).Value = "Hello"
Resize를 활용한 데이터 삭제
Range("C3").Resize(5,2).ClearContents
Resize를 활용한 서식 변경
Range("A1").Resize(5,3).Interior.Color = RGB(255,255,0)
Offset과 함께 사용
Range("A1").Offset(1,1).Resize(3,2).Select

🔥 Resize를 활용하면 동적인 범위 설정이 가능하여 VBA 자동화에 매우 유용합니다! 🚀