티스토리 뷰


엑셀을 사용할 때 여러개의 셀(Cell)을 하나로 병합(Merge) 하는 경우가 많습니다.

이 글에서는 이러한 병합을 엑셀 매크로 프로그래밍 상에서 하는 방법에 대해서 배워볼까 합니다.


병합하는 방법은 생각보다 간단합니다.


바로 Range 개체의 Merge 함수를 이용하는 것인데요. Merge 함수 호출 이전에 Range의 매개변수에 자신이 병합을 원하는 Cell의 범위를 지정해 주면 됩니다. 


A1부터 A3까지 병합을 원하면 "A1:A3"를. A1부터 E5까지 병합을 원하면 "A1:E5"라는 값을 Range 개체에 전달하면되요.

그럼 코드를 살펴볼까요.



코드 작성은 나를 따라하라~! 


코드는 아래와 같습니다. 
'여러개의 셀을 Mergeg한다.
Sub MergeCells()

    'Cells들을 Merge하기
    Range("A1:A5").Merge

    'Merge된 결과 다시 되돌리기
    'Range("A1:A5").UnMerge

End Sub


코드 리뷰를 간략히 하면 Range.Merge 함수를 통해서 병합을 하고, 병합된 결과를 풀기위해서 UnMerge 함수를 이용합니다. 


코드 실행전에 결과를 깔끔하게 보기 위해서 아래와 같이 A1에 임의의 값(여기의 경우 100)을 넣습니다.



코드를 작성합니다. 




코드를 실행합니다. 그리고 엑셀의 화면을 확인합니다.

Range에 정의한 A1부터 A5가 병합된것을 확인할 수 있습니다. 잘되네요 ^..^



병합을 했으니, 병합된 셀들을 다시 기존의 셀로 바꾸어 보겠습니다. 

Range("A1:A5").Merge 함수 호출 부분을 주석처리하고, Merge("A1:A5").UnMerge 부분에 주석처리된 부분을 제거합니다.


코드는 아래와 같습니다.

엑셀에서 주석을 처리하는 방법은 ' (따옴표)를 코드 앞에 두면됩니다. 


'여러개의 셀을 Mergeg한다.

Sub MergeCells()


    'Cells들을 Merge하기

    'Range("A1:A5").Merge


    'Merge된 결과 다시 되돌리기

    Range("A1:A5").UnMerge


End Sub




그리고 다시 코드를 실행합니다. 



병합되었던 셀이 다시 각각의 셀로 돌아온 것을 확인할 수 있습니다. 

이 글에서는 엑셀 매크로 프로그래밍을 이용하여 Range 개체를 통해서 셀 병합 및 다시 돌리는 방법에 대해서 알아보았습니다.


이 글이 도움이 되셨으면, 아래의 하트를 눌러주세요.

댓글