Merge
Merge메서드는 단어 그대로 셀 병합(倂合)을 합니다.
구문은 다음과 같습니다.
Syntax
expression.Merge (Across)
지정된 범위의 각 행에 있는 셀을 별도의 병합된 셀로 병합하려면 True입니다 . 기본값은 False입니다.
셀 병합을 매크로 기록하면 다음과 같습니다.
Sub Macro1()
'
' Macro1 Macro
'
'
Range("E4:I9").Select
Selection.Merge
End Sub
불필요한 부분을 수정한 코드입니다.
Sub Macro1()
'
' Macro1 Macro
'
'
Range("E4:I9").Merge
End Sub
Across를 True로 설정한 예제입니다.
Sub Macro2()
'
' Macro2 Macro
'
'
Range("E4:I9").Select
Selection.Merge True
End Sub
불필요한 부분을 수정한 코드입니다.
Sub Macro2()
'
' Macro2 Macro
'
'
Range("E4:I9").Merge True
End Sub
간단한 예제 코드입니다.
Sub MergeCellsExample()
Dim rng As Range
' 병합할 범위 선택
Set rng = Range("A1:B2")
' 셀 병합
rng.Merge
' 병합된 셀에 값 설정
rng.Value = "Merged Cell"
' 병합된 셀 서식 지정
With rng
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.Font.Bold = True
.Interior.Color = RGB(200, 200, 200)
End With
End Sub
매크로 실행 후 화면입니다.
UnMerge
UnMerge메서드는 병합된 영역을 개별 셀로 분리합니다.
Sub Macro1()
'
' Macro1 Macro
'
'
Range("E4:I9").Select
Selection.UnMerge
End Sub
살짝 수정한 코드입니다.
Sub Macro1()
'
' Macro1 Macro
'
'
Range("E4:I9").UnMerge
End Sub
셀 병합의 개수와 상관없이 모든 병합을 해지하기 위해 실험해 본 코드입니다.
Sub UnmergeAllCells()
ActiveSheet.Cells.UnMerge
End Sub
Sub UnmergeAllCells()
Dim cell As Range
For Each cell In ActiveSheet.UsedRange.Cells
If cell.MergeCells Then
cell.UnMerge
End If
Next cell
End Sub
Sub UnmergeAllCells()
Dim cell As Range
For Each cell In ActiveSheet.UsedRange.Cells
If cell.MergeCells Then
cell.MergeCells = False
End If
Next cell
End Sub
Sub UnmergeAllCells()
ActiveSheet.UsedRange.UnMerge
End Sub
MergeArea
지정된 셀을 포함하는 병합된 범위를 나타내는 Range개체를 반환합니다. 지정된 셀이 병합된 범위에 없는 경우 이 속성은 지정된 셀을 반환합니다.
MergeArea속성은 단일 셀 범위에서만 작동합니다.
셀 병합 후 값을 입력하는 간단한 코드입니다.
Sub MergeAreaExample()
Dim rng As Range
Dim mergeArea As Range
Set rng = Range("A1:B2")
' 셀 범위 병합
rng.Merge
' 가운데 정렬
rng.HorizontalAlignment = xlCenter
rng.VerticalAlignment = xlCenter
' 병합된 영역 확인
Set mergeArea = rng.Cells(1, 1).mergeArea
Debug.Print "병합된 영역의 주소: " & mergeArea.Address
' 병합된 영역의 값을 변경
mergeArea.Value = "Merged Cell"
' 변경된 값을 확인
Debug.Print "병합된 영역의 값: " & mergeArea.Cells(1, 1).Value
End Sub
MergeCells
병합된 셀인 경우 True를 반환하고, 병합되지 않은 개별 셀인 경우 False를 반환합니다.
MergeCells를 이용하여 셀 병합하는 간단한 코드입니다.
Sub MergeCellsExample()
Dim rng As Range
Set rng = Range("A1:C3") ' 병합할 범위 지정
' 셀 병합
rng.MergeCells = True
' 병합된 셀에 값 입력
rng.Value = "Merged Cells"
End Sub
MergeCells속성을 이용하여 셀 병합을 해제하는 간단한 코드입니다.
Sub UnmergeCellsExample()
Dim rng As Range
Set rng = Range("A1:C3") ' 병합된 범위 지정
' 병합 해제
rng.MergeCells = False
End Sub
MergeCells속성과 UnMerge메서드의 차이점은 MergeCells속성은 병합 여부를 확인하고 변경하는데 사용하고 UnMerge메서드는 셀 병합을 해제합니다.
'Range object' 카테고리의 다른 글
[Range 개체] AutoFill메서드 (0) | 2023.07.17 |
---|---|
[Range개체] - NumberFormat속성과 NumberFormatLocal속성 (0) | 2023.07.16 |
[Range 개체] AdvancedFilter메서드 - 고급필터 사용하기 (0) | 2023.07.11 |
[Range 개체] Areas속성 (0) | 2023.07.10 |
[Range 개체] End속성 (0) | 2023.07.09 |