본문 바로가기
WeekdayLife/excel

[엑셀VBA] 영역선택, 이름관리자를 VBA에서 사용

by JO_i 2021. 4. 16.

엑셀VBA에서 영역선택, 이름관리자를 VBA에서 사용

1부터 16까지 16행의 값이 들어가 있다고 하자

VBA에서 해당 영역을 지정하는 방식을 알아본다.

 

 

 

알고 있는 방법은 크게 3가지로,

range로 영역을 지정하는 방법,

currentRegion이나 usedrange를 활용하는 방법,

워크시트의 이름관리자를 활용하는 방법이다.

 

대충 영역 내 셀 개수를 세는 프로시저를 작성해보면 아래와 같고, 결과는 모두 16이 나올 것이다.

 

 

 

이때, 셀이 하나 추가가 된다면, 어떻게 될까?

셀이 하나 추가되어도 기존 영역을 물고 있다면, 곤란하다고 할 수 있다.

3가지 방법 중 동적으로 작동하는 방식은 뭘까?

 

 

 

약간 코드를 수정하고 실행해 보자

 

 

 

영역을 세팅해 놓는 range는 당연히, 그대로 16이고,

currentRegion이나, usedrange는 값이 17로 변한 걸 알 수 있다.

 

 

 

이름 정의를 사용한 것도 값이 17로 바뀌었지만, 당연히 워크시트의 이름관리자에서 영역을 수정해주었기 때문에 가능한 것이다.

 

 

 

 

아무래도 이름정의를 통하면, VBA와 워크시트가 따로 노는 일이 줄어들 것 같은 느낌적인 느낌이다.