엑셀에 숨겨진 행이 있을때 필요에 의해 숨겨진 행만 삭제해야할경우가 있습니다. 양이 많다면 vba를 이용하는것이 훨신 빠르겠죠. 아래 소스는 숨겨진 행을 삭제하는 vba 입니다. 개인에 맞게 활용하시면 될것 같습니다.
■ 엑셀파일에서 숨겨진 행 삭제하는 vba
※ 아래 예제는 엑사모 latinum님이 만든 소스입니다.
제가 필요에 의해서 블로그에 정리하는 차원에서 올린소스이니 착오없으시길 바랍니다.
Sub dhMain() Const Es As String = "MagicSheet & 엑사모" If MsgBox("선택한 영역의 숨겨진 행들을 삭제하시겠습니까?", vbYesNo + vbQuestion, Es) = vbYes Then dhDeleteHideRow Selection Else End If End Sub Sub dhDeleteHideRow(rngDb As Range) Dim rngVisible As Range On Error Resume Next Set rngVisible = rngDb.SpecialCells(xlCellTypeVisible) '해당 범위의 눈에 보이는 영역을 변수에 담는다 Application.ScreenUpdating = False '화면을 갱신하지 않는다 If rngVisible Is Nothing Then '만약 눈에 보이는 영역이 없다면 rngDb.EntireRow.Delete '모두 숨겨진 행이므로 삭제한다 Else rngDb.EntireRow.Hidden = False '영역 전체의 숨김을 해제한 뒤 rngVisible.EntireRow.Hidden = True '눈에 보이는 영역, 즉 숨겨지지 않은 영역을 숨긴다 rngDb.SpecialCells(xlCellTypeVisible).EntireRow.Delete '눈에 보이는 영역(원래 숨겨졌던 영역)을 삭제한다 rngDb.EntireRow.Hidden = False '숨겼던 영역을 원래대로 보이도록 만든다 End If Application.ScreenUpdating = True '화면을 갱신한다 On Error GoTo 0 End Sub | cs |
'IT 이야기' 카테고리의 다른 글
[엑셀 VBA] 행높이를 복사하는 예제 (0) | 2018.05.18 |
---|---|
[엑셀 VBA] 활성셀에 그림삽입하기 (0) | 2018.05.14 |
[엑셀 VBA] 활성셀의 열주소를 반환하는 vba (0) | 2018.05.13 |
[엑셀 VBA] VBA를 이용해 IE를 열고 창을 최대화하기 (0) | 2018.05.12 |
[엑셀 VBA] 특정 글자만 찾아 색상 바꾸기 (0) | 2018.05.11 |
[엑셀 VBA] 일정한 범위에서 중복되지 않는 난수 배열 만들기 (0) | 2018.05.10 |
[엑셀 VBA] 텍스트로 저장된 숫자 데이터를 실제 숫자 데이터로 변환 (0) | 2018.05.09 |
댓글