엑셀 특정 시트만 제외하고 모든 시트 삭제
엑셀 특정 시트만 남기고 다른 모든 시트를 삭제하는 VBA 코드 입니다.
먼저 엑셀화면과 VBA 코드를 입력하는 화면에서 표시되는 부분을 보는 것이 이해하는데 빠릅니다.
시트(Sheet) 이름이 VBA 입력창에서는 어떻게 표시되는지 보이시죠?
시트명은 괄호로 표시되고 있는 걸 알 수 있습니다.
아래와 같은 화면이 나오도록 하려면 Alt + F11 키를 누릅니다.
Sheet1 시트만 남기고 모드 삭제하는 것은
현재 엑셀파일(ThisWorkbook)의 모든 시트(Worksheets)를 범위로 지정하고 각 시트(sht)를 순환하면서
sht.Name 이 Sheet1 이 아니면 지우라고 코드를 만듭니다.
첨부파일은 아래 코드를 그대로 넣은 텍스트 파일이며, 필요하면 다운로드하여 파일열고 복사하여 붙여넣기 하면 하세요.
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 만 남기고 전부 지워진거 보이죠?
'업무 능력 향상 > 엑셀 VBA 기초' 카테고리의 다른 글
[VBA기초] RemoveDuplicates 이용한 중복 제거 (2) | 2015.04.22 |
---|---|
[VBA기초] Ralace 이용해서 값 찾아 변경하기 (0) | 2015.04.20 |
[VBA기초] RGB 색상표 (0) | 2015.04.05 |
[VBA기초] 숫자 채우기 (0) | 2015.04.04 |
[VBA] 배열의 이해 (0) | 2015.03.29 |