Range 개체

UnMerge 메서드

노만e 2025. 3. 10. 19:34

엑셀 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를 사용하면 병합된 셀을 손쉽게 해제할 수 있습니다! 🚀