이번 시간에는 Range 오브젝트를 생성하는 방법 중 CurrentRegion과 UsedRange 속성에 대해 살펴보도록 하겠습니다.
CurrentRegion 속성
CurrentRegion이란 현재 선택된 셀을 중심으로 하여 빈 행과 빈 열로 둘러싸인 영역을 말합니다.
아래 화면을 보시면서 이해하시기 바랍니다.
셀 포인터가 A1 셀에 위치하고 있습니다.
이 경우 CurrentRegion, 즉 현재 영역은 어디가 될까요?
위쪽과 왼쪽으로는 더 이상 갈 곳이 없고, 오른쪽과 아래쪽 방향으로 빈 행과 빈 열이 나올 때까지 따라가 보면...
F열과 6행을 만나게 됩니다. 따라서 A1 셀의 CurrentRegion은 빈 행/열을 만나기 바로 전까지의 영역인 A1:E5 영역이 되는 것입니다.
특정 셀에 대한 현재 영역을 선택하려면 다음과 같이 표현하면 됩니다.
이 때 Range("D3") 부분은 굳이 D3 셀이 아니더라도 상관 없이 지정하면 됩니다.
지정한 범위에 테두리선을 그릴때에는 BorderAround 메서드를 사용하고 선의 굵기는 Weight 인수를 통해 지정합니다.
이렇게 하다 보면 이런 메서드와 인수들을 어떻게 다 외워 사용하느냐고 의문을 가지리라 봅니다.
절대로 모두 외울 필요가 없습니다.
엑셀에는 아주 유용한 매크로 기록기가 있기 때문에 이 매크로 기록기를 사용하여 괘선을 그리는 과정을 기록한 다음, 작성된 코드를 보고, 테두리선과 관련한 메서드와 속성을 참고하시면 됩니다.
이 방법으로 하면 영역에 테두리선을 그리는 것도 매우 간단합니다.
조금 더 응용력을 발휘하여 표의 타이틀 부분을 제외한 영역에만 색상을 지정하는 것을 만들어 볼까요?
그렇게 하려면 CurrentRegion 속성 외에도 Offset, Resize 속성 등을 조합해서 사용해야 합니다.
아래 코드를 잘 보시기 바랍니다.
위 코드를 실행하면 아래 그림과 같은 결과가 나타납니다.
UsedRange 속성
CurrentRegion 속성을 사용하면 특정한 셀에 인접해 있는 영역을 구할 수는 있습니다만, 떨어져 있는 영역에 대해서는 접근할 수 없습니다.
다음과 같이 떨어져 있는 영역을 포함하여 워크시트 중에서 사용된 모든 영역을 선택하려면 UsedRange 속성을 이용하면 됩니다.
여기서 한 가지 유의할 점은 앞에서 설명드린 CurrentRegion 속성은 Range 오브젝트의 하위 속성인데 비해 UsedRange 속성은 Worksheet 오브젝트에 속한 속성인 점에 주의하시기 바랍니다.
즉, Range("A1:E100").Select 와 같은 형태로는 사용할 수 없다는 얘기입니다.
위 코드를 실행해 보시면 위와 같이 영역이 선택되어 지는 것을 확인할 수 있습니다.
'강좌(교육)' 카테고리의 다른 글
[엑셀 메뉴강좌] [이동/복사] 기능 이용하기엑셀교실 (0) | 2016.12.15 |
---|---|
[엑셀 함수강좌] 사원정보 성별확인(MID)엑셀교실 (0) | 2016.12.15 |
[엑셀 함수강좌] 주민번호이용 나이확인(LEFT, RIGHT)엑셀교실 (0) | 2016.12.15 |
[엑셀 메뉴강좌] [그림 복사] 결재란 작성방법엑셀교실 (0) | 2016.12.15 |
[엑셀 메뉴강좌] [바꾸기] 행/열 변경엑셀교실 (0) | 2016.12.15 |