본문 바로가기

WeekdayLife

[엑셀VBA] 색칠된 셀의 행 삭제하기

색칠된 셀의 행 삭제하기

문서를 검토하다 보면 특정 조건에 따라 셀에 색을 칠하는 경우가 많다.

- 노가다이든, 조건부 서식이든..

 

그 다음이 문제다.

색 구분 해놓은걸 처리를 해야할 경우,

다시 일일이 선택해서 뭔가를 해야하는 경우가 많다.

대부분의 경우, 선택한걸 삭제하는 경우가 많으므로, 삭제하는 코드로 짯다.

 

 

간단하다.

 

선택 영역 내에서 기본 설정색(마치 흰색으로 보이는 아무것도 없는 색)이 아니면 행을 지우게 해놨다

의외로 유용하다.

** 단, 조건부 서식에서 설정된 색은 먹히지 않는다!!!!

 

 

[코드샘플]

 

Sub row_del_COLOR()

Dim myRNG As Range
Dim i As Integer
Dim CmyRNG As Integer

On Error Resume Next
Application.DisplayAlerts = False
    Set myRNG = Application.InputBox("영역", , , , , , , 8)
Application.DisplayAlerts = True

CmyRNG = myRNG.Count

For i = CmyRNG To 1 Step -1
    If myRNG(i).Interior.ColorIndex <> -4142 Then
    myRNG(i).EntireRow.Select
    Selection.Delete

    End If
Next

On Error Resume Next
Application.DisplayAlerts = False
    myRNG(1).Activate
Application.DisplayAlerts = True

End Sub