엑셀 VBA에서 UnMerge 메서드는 병합된 셀을 해제하는 기능을 제공합니다.
즉, 병합된 셀을 개별 셀로 다시 나누는 데 사용됩니다.
1. 기본 문법
Range("병합된 셀 범위").UnMerge
|
- 병합된 셀 범위 → 병합을 해제할 셀의 범위
📌 병합 해제 후 값은 왼쪽 상단 셀에 남고, 나머지 셀은 빈 값이 됨
📌 전체 워크시트에서 모든 병합된 셀을 해제할 수도 있음
2. 단일 셀 병합 해제
Sub 단일셀_병합해제()
Range("A1").UnMerge
End Sub
|
📌 A1 셀의 병합을 해제
3. 범위 내 모든 병합 해제
Sub 범위_병합해제()
Range("A1:C5").UnMerge
End Sub
|
📌 A1:C5 범위에서 병합된 모든 셀을 해제
4. 워크시트 전체에서 병합 해제
Sub 전체_병합해제()
ActiveSheet.Cells.UnMerge
End Sub
|
📌 현재 워크시트의 모든 병합된 셀을 해제
5. 모든 시트에서 병합 해제
Sub 모든시트_병합해제()
Dim ws As Worksheet
For Each ws In ThisWorkbook.Sheets
ws.Cells.UnMerge
Next ws
End Sub
|
📌 현재 통합 문서의 모든 시트에서 병합된 셀 해제
6. 병합 해제 후 빈 셀을 자동 채우기
Sub 병합해제_자동채우기()
Dim rng As Range
For Each rng In ActiveSheet.UsedRange
If rng.MergeCells Then
rng.UnMerge ' 병합 해제
rng.Value = rng.MergeArea.Cells(1, 1).Value ' 왼쪽 상단 값 복사
End If
Next rng
End Sub
|
📌 병합 해제 후 병합된 첫 번째 셀 값을 나머지 셀에 자동으로 복사
7. 특정 열(A열)에서 병합 해제
Sub 특정열_병합해제()
Columns("A").UnMerge
End Sub
|
📌 A열의 모든 병합된 셀을 해제
8. 특정 행(1행)에서 병합 해제
Sub 특정행_병합해제()
Rows("1").UnMerge
End Sub
|
📌 1행의 병합된 셀을 해제
9. 선택된 범위에서 병합 해제
Sub 선택된범위_병합해제()
Selection.UnMerge
End Sub
|
📌 사용자가 선택한 셀 범위에서 병합 해제
10. 병합된 셀을 찾아 자동 해제
Sub 병합된셀_찾아서_해제()
Dim rng As Range
For Each rng In ActiveSheet.UsedRange
If rng.MergeCells Then rng.UnMerge
Next rng
End Sub
|
📌 워크시트에서 병합된 셀을 찾아 자동 해제
📝 정리
기능
|
VBA 코드
|
단일 셀 병합 해제
|
Range("A1").UnMerge
|
특정 범위 병합 해제
|
Range("A1:C5").UnMerge
|
워크시트 전체 병합 해제
|
ActiveSheet.Cells.UnMerge
|
모든 시트에서 병합 해제
|
For Each ws In ThisWorkbook.Sheets: ws.Cells.UnMerge: Next ws
|
병합 해제 후 값 유지
|
rng.Value = rng.MergeArea.Cells(1, 1).Value
|
특정 열(A열)에서 병합 해제
|
Columns("A").UnMerge
|
특정 행(1행)에서 병합 해제
|
Rows("1").UnMerge
|
선택된 범위 병합 해제
|
Selection.UnMerge
|
병합된 셀을 찾아 자동 해제
|
If rng.MergeCells Then rng.UnMerge
|
🔥 VBA의 UnMerge를 사용하면 병합된 셀을 손쉽게 해제할 수 있습니다! 🚀