티스토리 뷰

VBA

[Excel][VBA] 병합된 셀 처리

어린왕자1234 2021. 11. 20. 22:31

■ 병합된 셀 존재 확인

CODE
Function ContainsMergedCells(rng As Range) As Boolean
    Dim c As Range
    
    ContainsMergedCells = False
    For Each c In rng
        If c.MergeCells Then
            ContainsMergedCells = True
            Exit Function
        End If
    Next c
    
End Function

Sub aaa()
    If ContainsMergedCells(Range("a1:e20")) Then
        MsgBox ("병합셀이 존재합니다.")
    Else
        MsgBox ("병합셀이 없습니다.")
    End If
    
End Sub

■ 병합셀의 특징

  [A1:B2]셀이 병합되어 있다 가정하면

  - 병합된 셀을 참조하는 방법    

    ① 병합된 전체셀을 참조

    ② 병합셀의 왼쪽위 모서리 셀을 참조

        

        Rang("A1:B2")

        Rang("A1")

 - 병합된 셀에 값 입력은 왼쪽위 모서리 셀만 가능

      Rang("A1").Value = 10

 - 병합셀의 일부를 삭제하면 경고 메시지 발생