[VBA 매크로] CurrentRegion 프로퍼티로 Range 동적으로 설정하기
엑셀, VBA, 파워쿼리/VBA 매크로

[VBA 매크로] CurrentRegion 프로퍼티로 Range 동적으로 설정하기

by Jongg 2024. 5. 6.
728x90

 

이번 글에서는 CurrentRegion 프로퍼티를 활용하여 Range를 동적으로 설정하는 방법을 설명드리겠습니다. 

CurrengRegion 프로퍼티는 연속된 데이터 영역을 선택하는 데 사용되는데요. 자세한 내용은 아래의 글을 참고 부탁드립니다. 

 

 

[VBA 매크로] CurrentRegion으로 데이터 영역 선택하기

VBA 매크로 프로퍼티 중 'CurrentRegion'으로 데이터 영역을 선택 및 설정하는 방법을 소개해 드리겠습니다. Range 관련해서는 이전 글 [엑셀 VBA 매크로] For 구문으로 엑셀 시트 이름 한번에 바꾸기 #1: R

writingpjt.tistory.com

 

<예시 파일>

예시파일.xlsm
0.01MB

 

 

#1. 예시파일 설명

▲ 위의 사진처럼 예시파일 첫번째 시트에는 24년 판매계획이 있으며, 항상 B3셀에서 데이터가 시작된다고 가정해봅시다. CurrentRegion을 활용하여 파란색 화살표 영역을 Range 변수에 동적으로 설정하고, 그 영역을 선택하는 매크로를 만들어 보겠습니다. 

  

#2. CurrentRegion을 사용하여 Range를 설정하기

 

<코드 전문>

Sub Range설정()
Dim 판매계획 As Range  ' "판매계획"이라는 Range 변수 선언하기

  Set 판매계획 = ThisWorkbook.Sheets(1).Range("B3").CurrentRegion  ' "판매계획" Range의 영역 설정하기
  판매계획.Select  '판매계획 영역 선택하기 

End Sub

 

728x90

 

#3. 작동 확인 및 유의사항

▲ 매크로 실행 결과, 상품 판매계획 영역이 선택됐음을 알 수 있습니다. 

 

▲ 위의 사진처럼 데이터 영역에 변화가 생겨도, 변동사항을 자동적으로 반영하여 Range가 설정됩니다.

 

<유의사항>

- 코딩 방식에 따라 시트순서(예시파일의 방식) 혹은 시트명을 변경할 시 매크로 코드도 수정해야 합니다. 

- 데이터 시작위치(예시파일의 B3셀)가 일정해야합니다. 예시파일의 경우 만약에 데이터가 시작되는 셀이 B5였으면, 매크로를 실행해도 B3셀만 선택될 뿐입니다. 

 

728x90

댓글