반응형
"Areas" 속성은 Excel VBA에서 Range 객체에서 사용되는 속성 중 하나입니다. Range 객체는 셀이나 셀 범위를 나타내는데, 내부에 "Areas" 속성은 각각의 셀 정보를 반환합니다. 또한 병합된 셀 영역을 여러 개로 분할한 부분 영역을 반환할 수도 있습니다. 다중 영역으로 분할되는 경우 주로 병합된 셀이나 테이블 등에서 활용하고 있습니다. 해당 부분 영역의 값을 읽거나 변경하고, 서식을 지정하거나 계산 등의 작업을 수행할 수 있습니다.
◎ 하나의 영역에 값 합치기 |
▼ Range 가 지정한 영역은 하나입니다. 여기에 각 셀을 반복문으로 돌면서 값을 하나씩 합치지 않고 WorksheetFunction.Sum() 함수로 Range 로 지정한 Area 영역의 모든 순자를 한번에 합칠 수 있습니다.
▼ 이번에는 위와 달리 Range 함수에서 두 개의 영역을 지정했습니다. 이 경우 Areas 도 2개의 가집니다. 각각의 영역에 대한 값을 별도로 계산해서 팝업을 띄우는 소스입니다.
Sub CalculateSumInMergedCells() Dim mergedRange As Range Dim area As Range ' 병합된 셀 범위 설정(두 개의 영역) Set mergedRange = Worksheets("Sheet2").Range("B2:C3, B6:C7") For Each area In mergedRange.Areas ' 각 부분 영역의 합계 계산 및 출력 Dim areaSum As Double areaSum = Application.WorksheetFunction.Sum(area) MsgBox "Sum of Area: " & areaSum Next area End Sub |
▼ 결과는 아래와 같습니다. 두 번의 For 반복문을 통해 두 개의 팝업에 합산한 결과값을 띄웠습니다.
※ 아래는 참고하면 좋을 만한 글들의 링크를 모아둔 것입니다. ※ ▶ 엑셀 Excel VBA 개발을 위한 개발 도구 탭 추가하기 ▶ 엑셀 VBA 셀 참조하는 여러가지 방법 ▶ 엑셀 VBA 개발할 때 로그 출력하는 방법 ▶ 엑셀 VBA 함수 만들어서 매크로와 연결하기 ▶ 엑셀 VBA 워크시트, 셀 선택되었을 때 실행되는 이벤트 함수 구현하기 |
◎ 서식 지정하기 |
▼ Areas 속성은 함수를 적용할 수 있을 뿐만 아니라 서식도 한번에 적용 가능합니다. 지정한 Range 영역에 속성을 적용할 수 있기 때문에 아주 편리합니다.
Sub FormatMergedCellAreas() Dim mergedRange As Range Dim area As Range ' 병합된 셀 범위 설정 Set mergedRange = Worksheets("Sheet2").Range("B2:C3") For Each area In mergedRange.Areas ' 각 부분 영역의 서식 설정 area.Interior.Color = RGB(255, 0, 0) ' 빨간색 배경 area.Font.Bold = True Next area End Sub |
▼ 아래 그림처럼 소스를 실행한 결과 Range 영역 전체에 서식을 적용했습니다.
※ 아래는 참고하면 좋을 만한 글들의 링크를 모아둔 것입니다. ※ ▶ 엑셀 Excel VBA 개발을 위한 개발 도구 탭 추가하기 ▶ 엑셀 VBA 셀 참조하는 여러가지 방법 ▶ 엑셀 VBA 개발할 때 로그 출력하는 방법 ▶ 엑셀 VBA 함수 만들어서 매크로와 연결하기 ▶ 엑셀 VBA 워크시트, 셀 선택되었을 때 실행되는 이벤트 함수 구현하기 |
반응형
'엑셀(Excel) > VBA' 카테고리의 다른 글
엑셀 VBA 개발에 도움이 되는 편집기창 이용 방법들 (0) | 2024.12.11 |
---|---|
엑셀 VBA 메모의 모양을 직사각형, 풍선, 다이어몬드 형태 만들기 (0) | 2024.12.07 |
엑셀 VBA 매크로 소스 주석 Comments 넣는 방법 (2) | 2024.11.23 |
엑셀 Excel VBA 개발을 위한 개발 도구 탭 추가하기 (1) | 2024.11.23 |
엑셀 VBA 영어 첫 글자만 대문자로 변경하는 방법 (2) | 2024.11.20 |
엑셀 VBA 영역을 입력받는 RefEdit 컨트롤 사용하는 방법 (0) | 2024.11.11 |
엑셀 VBA 데이터 입력하는 텍스트 박스(Text Box) 사용하는 방법 (4) | 2024.11.02 |
엑셀 VBA 함수 Now 현재 날짜 및 시간 반환하기 (1) | 2024.11.02 |