다중 영역 선택의 모든 범위를 나타내는 Areas 컬렉션을 반환합니다. 읽기 전용 속성입니다.
도움말을 번역해보면 다음과 같습니다.
단일 선택의 경우 Areas 속성은 하나의 개체(원래 Range 개체 자체) 를 포함하는 컬렉션을 반환합니다 .
다중 영역 선택의 경우 Areas 속성은 선택한 각 영역에 대해 하나의 객체를 포함하는 컬렉션을 반환합니다.
이해를 돕기 위해 간단한 샘플을 만들었습니다.
Sub AreasExample()
Dim rng As Range
Dim area As Range
Dim areasCollection As Areas
' 단일 영역 선택
Set rng = Range("A1:C3")
Set areasCollection = rng.Areas
Debug.Print "단일 영역 정보 출력"
' 각 영역에 대한 정보 출력
For Each area In areasCollection
Debug.Print "영역: " & area.Address
Next area
' 다중 영역 선택
Set rng = Range("A2:C5,E1:G3,F4:I6")
Set areasCollection = rng.Areas
Debug.Print "-------------------"
Debug.Print "다중 영역 정보 출력"
' 각 영역에 대한 정보 출력
For Each area In areasCollection
Debug.Print "영역: " & area.Address
Next area
End Sub
위 코드를 실행한 화면입니다.
아래 코드는 각 영역에 값을 출력합니다.
Sub AreasExample()
Dim rng As Range
Dim area As Range
Dim areasCollection As Areas
Dim values As Variant
Dim i As Long
' 3개의 영역 선택
Set rng = Range("A1:B3,A5:C7,A10:D13")
Set areasCollection = rng.Areas
' 각 영역에 대한 값을 배열로 설정
values = Array("취미로", "공부하는", "VBA")
' 각 영역에 값을 할당
For i = 1 To areasCollection.Count
areasCollection(i).Value2 = values(i - 1)
Next i
End Sub
선택한 영역의 개수에 따라 다른 작업을 하는 코드입니다.
Sub AreasExample()
Dim i As Long
Dim numAreas As Long
' 선택한 영역의 개수 확인
numAreas = Selection.Areas.Count
' 선택한 영역이 한 개일 때
If numAreas = 1 Then
' 선택한 영역의 셀에 "Hello" 입력
Selection.Value = "Hello"
' 선택한 영역이 여러 개일 때
Else
' 선택한 각 영역의 셀에 번호를 입력
For i = 1 To numAreas
Selection.Areas(i).Value = i
Next i
End If
End Sub
'Range object' 카테고리의 다른 글
[Range 개체] 셀 병합과 관련된 속성과 메서드 (0) | 2023.07.15 |
---|---|
[Range 개체] AdvancedFilter메서드 - 고급필터 사용하기 (0) | 2023.07.11 |
[Range 개체] End속성 (0) | 2023.07.09 |
[Range 개체] EntireColumn속성 (0) | 2023.07.09 |
[Range 개체] Columns속성 (0) | 2023.07.08 |