Please Enable JavaScript!
Gon[ Enable JavaScript ]

반응형

워크시트에서 데이터 범위가 동적으로 변하거나 명확하지 않을 때 어떻게 시작과 종료 셀 위치를 알 수 있을 까요? VBA 에서는 CurrentRegion UsedRange 속성을 상황에 맞춰 사용합니다. CurrentRegion 는 데이터가 연속으로 이어질 때 사용하는 속성입니다. 반면에 UsedRange 는 시트 전체에서 연속적이지 않은 데이터를 모두 선택할 때 사용합니다.

 

 

CurrentRegion 사용해서 선택

 

엑셀 시트에서 연속된 데이터 영역 전체를 한 번에 선택하고 싶을 때 사용하는 단축키가 Ctrl + Shift + * 입니다. 영역에서 아무 셀이나 선택하고 단축키를 클릭해 보세요.

 

결과는 다음과 같습니다. 연속된 데이터 영역 전체를 선택했습니다. 이것을 VBA 에서는 CurrentRegion 속성을 이용해서 동일한 동작을 하도록 만들 수 있습니다.

 

코드 실행을 위해서 직접 실행 창을 띄웁니다. 단축키 Ctrl + G 보기 > 직접 실행 창 메뉴를 선택합니다.

 

코드는 다음과 같습니다. Range 함수를 이용해서 데이터 범위에 있는 아무 셀이나 지정합니다. 아래 코드를 직접실행창에 넣고 Enter 를 눌러 실행합니다.

 

Range("C4").CurrentRegion.Select

 

실행 결과는 시트에서 Ctrl + Shift + * 단축키를 누른 것과 같습니다. 이렇게 VBA 코드에서는 연속된 범위를 선택해서 데이터를 가져오고 싶을 때 CurrentRegion 속성을 사용합니다.

 

그럼 그림처럼 빈공간이 생겼을 때 CurrentRegion 은 어떻게 동작할까요? 연결되지 않은 영역은 선택하지 못합니다. 이런 경우에는 UsedRange 속성을 사용합니다.

 

아래는 참고하면 좋을 만한 글들의 링크를 모아둔 것입니다.
엑셀 VBA 영역 선택하는 여러가지 방법
엑셀 VBA 시트에서 데이터 영역 구하기
엑셀 VBA 영역(Range) 배열(Array) 변경하기
엑셀 VBA 영역을 선택했을 이벤트 처리하기
셀 VBA 선택한 영역 재조절 기능 Selection.Resize 함수 사용하기



 

 

UsedRange 속성 사용하기

 

VBA 에서 UsedRange 속성은 시트에서 사용한 셀 영역 전체를 선택하고 싶을 때 사용합니다. 엑셀 시트에서는 데이터 시작 셀을 지정하고 Ctrl + Shift + End 단축키를 이용해서 사용한 데이터 전체를 선택할 수 있습니다.

 

단축키를 실행한 결과는 다음과 같습니다. 빈 공간을 무시하고 사용한 데이터 영역 끝까지 선택되었습니다.

 

VBA 에서는 UsedRange 속성을 이용해서 동일하게 동작하도록 만들 수 있습니다. 코드는 다음과 같습니다. 아래 코드를 직접실행창에 입력합니다. Sheets 개체에서 사용할 시트를 지정합니다.

 

Sheets("sheet1").UsedRange.Select

 

코드를 실행한 결과 UsedRange 속성으로 지정한 시트에서 사용한 데이터 영역 전체를 선택합니다.

 

아래는 참고하면 좋을 만한 글들의 링크를 모아둔 것입니다.
엑셀 VBA 영역 선택하는 여러가지 방법
엑셀 VBA 시트에서 데이터 영역 구하기
엑셀 VBA 영역(Range) 배열(Array) 변경하기
엑셀 VBA 영역을 선택했을 이벤트 처리하기
셀 VBA 선택한 영역 재조절 기능 Selection.Resize 함수 사용하기
반응형
Posted by 녹두장군

댓글을 달아 주세요