728x90

엑셀 특정 시트만 제외하고 모든 시트 삭제



엑셀 특정 시트만 남기고 다른 모든 시트를 삭제하는 VBA 코드 입니다.

먼저 엑셀화면과 VBA 코드를 입력하는 화면에서 표시되는 부분을 보는 것이 이해하는데 빠릅니다.

시트(Sheet) 이름이 VBA 입력창에서는 어떻게 표시되는지 보이시죠?

시트명은 괄호로 표시되고 있는 걸 알 수 있습니다.

아래와 같은 화면이 나오도록 하려면 Alt + F11 키를 누릅니다.




Sheet1 시트만 남기고 모드 삭제하는 것은 

현재 엑셀파일(ThisWorkbook)의 모든 시트(Worksheets)를 범위로 지정하고 각 시트(sht)를 순환하면서

sht.Name 이 Sheet1 이 아니면 지우라고 코드를 만듭니다.


sheet_delete.vbs

첨부파일은 아래 코드를 그대로 넣은 텍스트 파일이며, 필요하면 다운로드하여 파일열고 복사하여 붙여넣기 하면 하세요.


Sub sheet_delete()
    Dim sht As Worksheet
   
    Application.DisplayAlerts = False   '// 엑셀 화면 경고표시 중단   
    For Each sht In ThisWorkbook.Worksheets  '// 파일의 각 시트 순환
        If sht.Name <> "Sheet1" Then               '// Sheet 파일이름이 Main이 아니면
            sht.Delete                               '// 시트 삭제
        End If
    Next sht   
    Application.DisplayAlerts = True   '// 화면 경고표시 복원
End Sub


이 코드를 실행하려면 커서를 Sub sheet_delete() 코드내 아무곳에나 위치하고 F5 키를 누릅니다.



위 그림에서 하단에 보면 Sheet1 만 남기고 전부 지워진거 보이죠?

블로그 이미지

Link2Me

,