반응형

안녕하세요.

 

실습 파일 다운로드

같은 내용인 근처 셀들을 하나로 병합하기_실습.xlsx
0.03MB

VBA  다운로드

CellMerge.txt
0.00MB

 

데이터 분석 기능을 이용해서 결과를 나타냈습니다.

그대로 사용해도 되지만 A, B열처럼 보통 같은 내용인 셀들을 하나로 묶어 셀을 병합해서 사용하는 경우가 많습니다.

데이터가 많은 경우 일일이 같은 내용을 범위 선택해서 병합하려면 꽤나 귀찮은 작업입니다.

엑셀 기본 기능으로 자동으로 처리할 수 없어 VBA로 작성했습니다.

 

기능을 구현하는 방법은 여러 가지 있지만 가장 적은 코드, 알아보기 쉬운 코드를 목표로 만들었습니다.

Public Sub 셀합치기()
    Temp = ActiveCell
    TempR = ActiveCell.Row
    
    Application.DisplayAlerts = False
    
    Do While ActiveCell <> ""
        If ActiveCell.Offset(1, 0) <> Temp Then
            Range(Cells(TempR, ActiveCell.Column).Address, ActiveCell.Address).Merge
            
            Temp = ActiveCell.Offset(1, 0)
            TempR = ActiveCell.Offset(1, 0).Row
        End If
        
        ActiveCell.Offset(1, 0).Select
        
        DoEvents
    Loop
    
    Application.DisplayAlerts = True
End Sub

사용법을 소개합니다.

 

먼저 VBA 파일을 다운로드합니다.

두번째로 적용할 내용이 저장되어 있는 엑셀 파일을 실행합니다.

<Alt + F11>을 눌러 Visual Basic Editor(VBE)를 실행합니다.

[파일]-[파일 가져오기]를 선택합니다.

다운로드한 VBA 소스파일 확장자가 TXT이기 때문에  [파일 가져오기] 대화상자 아래 [파일 확장자] 선택창에서 '모든 파일'을 선택합니다.

왼쪽 [프로젝트 탐색기]에 모듈이 표시됩니다.

여기서 'Module1'을 더블클릭합니다.

이제 엑셀 파일에 작성한 VBA 코드가 삽입되어 실행할 수 있는 상태가 되었습니다.

 

엑셀 파일에서 [A3] 셀을 선택한 다음 VBE 창을 선택해서 [실행]-[Sub / 사용자 폼 실행]을 선택하거나 <F5>를 누릅니다.

데이터가 많지 않기 때문에 금방 실행 결과가 표시됩니다.

B열에도 적용하기 위해 화면을 위로 올려 [B3] 셀에 커서를 두고 똑같은 방법으로 실행합니다.

이때 주의할 점은 VBA를 써서 실행한 작업은 되돌리기 기능을 쓸 수 없습니다.

정확한 위치에서 실행해야 하고 만약을 위해 백업본을 만든 뒤 실행하는 것이 좋습니다.

 

필요한 작업이 끝났으니 저장합니다.

[저장]을 선택하면 경고창이 표시됩니다.

VBA를 포함해서 저장하려면 'Excel 매크로 사용 통합 문서'로 저장해야 합니다.

그렇지만 여기서는 필요한 작업을 다 했고 다시 할 필요도 없기 때문에 VBA를 제외하고 저장합니다.

다음에 또 VBA 기능을 써야 한다면 앞에서 소개한 것처럼 VBA 코드를 불러와서 실행하면 됩니다.

 

[예]를 선택합니다.

 

병합된 셀을 해제하고 각 셀에 내용을 채워넣기 하려면 이전 게시물을 참고하세요.

 

2020.12.25 - 엑셀 실무] 병합된 셀을 해제하고 빈 셀에 데이터 채우기

 

엑셀 실무] 병합된 셀을 해제하고 빈 셀에 데이터 채우기

실습 파일 다운로드 완성 파일 다운로드

hantip.net

 

필요하신 분께 도움이 되길 바랍니다.

반응형

+ Recent posts