Vba: 동일한 값을 가진 셀을 병합하는 방법


VBA에서 다음 구문을 사용하여 특정 범위에서 동일한 값을 가진 셀을 병합할 수 있습니다.

 Sub MergeSameCells()
    
    'turn off display alerts while merging
    Application.DisplayAlerts = False
    
    'specify range of cells for merging
    Set myRange = Range(" A1:C13 ")

'merge all same cells in range
MergeSame:
    For Each cell In myRange
        If cell.Value = cell.Offset(1, 0).Value And Not IsEmpty(cell) Then
            Range(cell, cell.Offset(1, 0)).Merge
            cell.VerticalAlignment = xlCenter
            GoTo MergeSame
        End If
    Next
    
    'turn display alerts back on
    Application.DisplayAlerts = True

End Sub

이 특정 매크로는 A1:C13 범위에서 동일한 값을 가진 셀을 병합합니다.

다음 예에서는 실제로 이 구문을 사용하는 방법을 보여줍니다.

예: VBA에서 동일한 값을 가진 셀 병합

다양한 농구 선수가 득점한 점수에 대한 정보가 포함된 다음과 같은 데이터 세트가 Excel에 있다고 가정합니다.

연속된 행에서 동일한 값을 가진 셀을 병합한다고 가정해 보겠습니다.

이를 위해 다음 매크로를 생성할 수 있습니다:

 Sub MergeSameCells()
    
    'turn off display alerts while merging
    Application.DisplayAlerts = False
    
    'specify range of cells for merging
    Set myRange = Range(" A1:C13 ")

'merge all same cells in range
MergeSame:
    For Each cell In myRange
        If cell.Value = cell.Offset(1, 0).Value And Not IsEmpty(cell) Then
            Range(cell, cell.Offset(1, 0)).Merge
            cell.VerticalAlignment = xlCenter
            GoTo MergeSame
        End If
    Next
    
    'turn display alerts back on
    Application.DisplayAlerts = True

End Sub

이 매크로를 실행하면 다음과 같은 출력이 나타납니다.

VBA는 동일한 값을 가진 셀을 병합합니다.

동일한 컨퍼런스 이름과 이름을 포함하는 각 셀이 병합되었습니다.

병합된 셀에서 텍스트가 세로 중앙에 배치되도록 지정하기 위해 cell.VerticalAlignment = xlCenter 문을 사용했습니다.

추가 리소스

다음 자습서에서는 VBA에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.

VBA:사용된 열 수를 계산하는 방법
VBA: 행 높이를 변경하는 방법
VBA: 열 너비를 변경하는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다