2018년 11월 7일 수요일

Excel VBA 특정 컬럼 명(1열) 만 남기고 삭제하기.

대량 작업시 유용...

Sub Delete_Cols_WithOut()

    Dim co As Long, I As Long
    Dim join As String

    co = ActiveSheet.Range("A1").CurrentRegion.Columns.Count '추가할 시트에 Cols count 를 알아옵니다
    
    Debug.Print ("#시트이름 : " + ActiveSheet.NAME)
    Debug.Print ("--컬럼 목록 시작")
    For I = 0 To co
        Cells(1, I + 1).Select
        join = Selection.Offset(0, 0) ' 비교할셀값 좌표
        Debug.Print (join)
    Next
    Debug.Print ("--컬럼 목록 끝")
    Debug.Print ("--------------------------------")

    Cells(1, 1).Select

    For I = 0 To co
        join = Selection.Offset(0, 0) ' 비교할셀값 좌표
        'Debug.Print (join)
    
            If join = "Key" Or join = "삭제할 시트명" Then
                Debug.Print ("찾음 : +" + join)
                Selection.Offset(0, 1).Select    
            Else
                Debug.Print ("삭제함 : -" + join)
                Selection.EntireColumn.Delete
    
            End If

    Next

End Sub

댓글 없음:

댓글 쓰기