셀 병합하기 및 셀 병합 해제
Sub MergeCells()
Dim rngAll As Range '// 선택영역 전체 범위 변수
Dim iRow, iCol As Integer '// 행, 열의 변수
Dim rCnt As Integer '// 병합할 셀의 크기 지정 카운트
Set rngAll = Range([A2], Cells(Rows.Count, "C").End(3))
Application.DisplayAlerts = False '// 화면경고 중지
For iCol = 1 To rngAll.Columns.Count
For iRow = 1 To rngAll.Rows.Count
If rngAll.Cells(iRow, iCol) = rngAll.Cells(iRow + 1, iCol) Then
rCnt = rCnt + 1
Else
Range(rngAll.Cells(iRow, iCol), rngAll(iRow - rCnt, iCol)).Merge
rCnt = 0
End If
Next
Next
Application.DisplayAlerts = True '// 화면경고 복원
End Sub
Sub unMerge()
Dim rngC As Range '// 선택영역 각 셀을 넣을 변수
Dim rngAll As Range '// 선택영역 전체 범위 변수
Set rngAll = Range([A2], Cells(Rows.Count, "C").End(3))
rngAll.Cells.MergeCells = False '// 범위의 셀 전체를 선택해서 병합 해제
End Sub
첨부한 VBA 코드는 셀 병합, 병합 해제, 윗셀의 값으로 채우기, 병합해제 및 값으로 채우기 에 대한 VBA 코드입니다.
이 코드 하나면 간단하게 셀 병합 해제는 편리하게 이용할 수 있을 겁니다.
수정해서 사용할 곳은 위 주황색 부분의 범위구간 설정하는 곳입니다.
나머지는 그대로 이용하면 됩니다.
'업무 능력 향상 > 엑셀 VBA 기초' 카테고리의 다른 글
[VBA기초] 좌우공백 제거 카운트 (0) | 2014.09.07 |
---|---|
[VBA기초] 글꼴 정리 (0) | 2014.09.02 |
[VBA기초] 빈셀일 경우 윗셀의 내용으로 채우기 (0) | 2014.07.26 |
[VBA기초] 셀 병합 해제하고 같은 값으로 채우기 (0) | 2014.07.26 |
[VBA기초] 첫문자열 공백제거 (0) | 2014.06.21 |