Excel VBA 범위 조정하기

Written by

Editorial Team

Reviewed by

Steve Rynearson

Translated by

Younjung Kim

Last updated on 5월 2, 2023

VBA에서 범위 조정하기

이 튜토리얼에서는 Range 객체Resize 속성을 사용하여 원래 범위 객체에서 크기가 조정된 새 범위를 반환하는 방법을 보여 줍니다.

구문

Resize 속성의 구문은 다음과 같습니다:

Range("A1").Resize (행크기, 열크기)

Range(“A1”)은 시작 범위입니다.

행크기와 열크기는 0보다 커야 합니다. 각 입력은 선택 사항입니다(예: 행/열 둘중 하나만 변경할 경우 나머지는 생략이 가능합니다).

범위의 행 및 열 수 조정하기

다음 예는 A1 셀 하나만 있는 범위를 행 수를 10으로, 열 수를 5로 늘려 A1:E10 범위로 확장합니다.

Range("A1").Resize(10, 5).Select

vba resize range

아래 코드는 크기가 조정된 범위를 변수에 할당합니다:

    ' 범위의 크기를 조정하고 변수에 할당합니다
    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

vba-free-addin

VBA 코드 예시 추가 기능

본 웹사이트에 있는 모든 코드 예시에 쉽게 접근해보세요.

메뉴로 이동하여 클릭만 하면 코드는 모듈에 바로 입력됩니다. .xlam 추가 기능.

(설치가 필요 없습니다!)

무료 다운로드

VBA 코드 예시로 돌아가기