Excel VBA 범위 조정하기
In this Article
VBA에서 범위 조정하기
이 튜토리얼에서는 Range 객체의 Resize 속성을 사용하여 원래 범위 객체에서 크기가 조정된 새 범위를 반환하는 방법을 보여 줍니다.
구문
Resize 속성의 구문은 다음과 같습니다:
Range("A1").Resize (행크기, 열크기)
Range(“A1”)은 시작 범위입니다.
행크기와 열크기는 0보다 커야 합니다. 각 입력은 선택 사항입니다(예: 행/열 둘중 하나만 변경할 경우 나머지는 생략이 가능합니다).
범위의 행 및 열 수 조정하기
다음 예는 A1 셀 하나만 있는 범위를 행 수를 10으로, 열 수를 5로 늘려 A1:E10 범위로 확장합니다.
Range("A1").Resize(10, 5).Select
아래 코드는 크기가 조정된 범위를 변수에 할당합니다:
' 범위의 크기를 조정하고 변수에 할당합니다
Set newRng = ActiveSheet.Range("A1").Resize(10, 5)
범위의 행 수만 조정하기
다음 예제는 행 수만 변경합니다:
' 행 수만 변경합니다. 새로운 범위는 $A$1:$A$10 입니다
Set newRng = rng.Resize(10)
범위의 열 수만 조정하기
다음 예제는 열 수만 변경합니다:
' 열 수만 변경합니다. 새로운 범위는 $A$1:$E$1 입니다
Set newRng = rng.Resize(, 5)
헤더를 제외하도록 테이블 범위 크기 조정하기
활성 시트에 헤더 행이 있는 테이블이 있는 경우, 코드는 먼저 전체 테이블을 선택한 다음 Range.Offset 메서드를 사용하여 한 행 아래로 이동합니다. 그런 다음 Range.Resize 속성을 사용하여 크기를 한 행씩 줄입니다.
Sub SelectTableData()
' **중요**
' 매크로를 실행하기 전에 테이블 내의 아무 셀이나 클릭해 주세요
' 오프셋을 사용하여 한 행을 아래로 이동한 다음 범위 크기를 한 행 줄입니다
Set tbl = ActiveCell.CurrentRegion.Offset(1, 0)
Set tbl = tbl.Resize(tbl.Rows.Count - 1, tbl.Columns.Count)
' 헤더 행을 제외한 데이터가 선택됩니다
tbl.Select
End Sub
2차원 배열을 범위에 입력하기
또 다른 일반적인 사용법은 시트에 2차원 배열을 쓰는 것입니다. 기록할 범위는 배열의 크기와 일치해야 하는데, 일반적으로 미리 알 수 없으므로 Resize 메서드를 사용하여 출력 범위를 설정합니다.
아래 예제는 활성 시트의 A1:E10 범위의 데이터를 배열로 읽고 ‘Output’ 시트의 A1셀부터 배열 값들을 입력합니다:
Sub WriteArray()
' 데이터를 배열에 입력합니다
data = Range("A1:E10").Value
' 범위의 크기를 재조정하여 배열 값을 입력합니다
Worksheets("Output").Range("A1").Resize(UBound(data, 1), UBound(data, 2)).Value = data
End Sub
작성자 : Vinamra Chandra