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
이 매크로를 실행하면 다음과 같은 출력이 나타납니다.
동일한 컨퍼런스 이름과 팀 이름을 포함하는 각 셀이 병합되었습니다.
병합된 셀에서 텍스트가 세로 중앙에 배치되도록 지정하기 위해 cell.VerticalAlignment = xlCenter 문을 사용했습니다.
추가 리소스
다음 자습서에서는 VBA에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.