728x90

조건을 만족하지 않는 행을 삭제하는 VBA Code


조건 : A행은 11개의 숫자로 이루어져 있는데 조건을 만족하지 않는 행(Row)은 삭제하라



Sub 행삭제()
    Dim i, r, Counter As Integer
    Dim rngAll As Range        '// 범위 전체 영역 변수

    Application.ScreenUpdating = False        '화면 업데이트 (일시) 정지
    Cells(2, "A").Select    '// 현재 어느셀에 위치하든 A2 셀을 선택하라
    Set rngAll = Range([A2], Cells(Rows.Count, "A").End(3))
    '// 시작행 A2, 마지막행 자동인식
    Counter = rngAll.Rows.Count

    For i = 1 To Counter

        If Len(ActiveCell.Value) <> 11  Or Not IsNumeric(ActiveCell.Value) Then 

            '// 현재 셀의 길이가 11이 아니거나 숫자가 아니면
            Selection.EntireRow.Delete     '//해당행 전체 삭제
            Counter = Counter - 1          '// 행이 삭제되어 전체행 수를 하나 줄임
            r = r + 1         '// 삭제된 행의 수를 카운트
        Else
            ActiveCell.Offset(1, 0).Select    '// 아래행으로 이동
        End If
    Next i
    Msgbox "총" & r & "행 삭제"
End Sub



조건불만족행삭제.vbs


728x90
블로그 이미지

Link2Me

,