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 코드 예시로 돌아가기

AI in the VBA Editor!

AutoMacro is the ultimate VBA add-in.

AI, Generators, UI Builders, Code Library, and More!

Learn More

AutoMacro: AI in the VBA Editor!

Learn More