나눔터  
  HOME > 나눔터 > 묻고답하기 > 엑셀
엑셀
엑셀에 대한 질문과 답변을 올려주세요. 단, 취지에 맞지 않는 글은 운영자가 삭제합니다.
 "000 님, 도와주세요", "부탁 드립니다.", "급합니다!" 등과 같이 막연한 제목을 달지 말아주세요.
[필독] 빠르고 정확한 답변을 얻는 16가지 Tip !
[필독] 저작권법 개정에 따른 이용안내

작성자:  

 룰루 (zentry)

추천:  2
파일:     조회:  2662
제목:   엑셀 특정 시트 일괄 삭제 문의
     
  * 답변하시는 분들께 도움이 되도록 자신의 환경을 아래 항목 옆에 기재해 주세요.

 - 엑셀 버전(95,97,2000,xp,2003,2007): 2013

* 아래줄에 질문을 작성하세요 >>
일을 하다가 반복적인 작업으로 인한불편함에... 혼자 해보려 이것저것 찾고 해보고 있는데 쉽지 않네요
다수의 엑셀 파일을 지정하면 특정 시트 외에는 일괄 삭제하는 VBA 를 구현하고 싶은데요
(시트명은 모두 동일합니다)

엑셀 양이 매일 가변적이라 양이 좀 많아서 한꺼번에 처리하고 싶은데 단일 처리하는 구문 외에는 감이 안오네요
현재는 일일히 하나씩 열어서 다음과 같은 구문을 돌리는 형태로 하고 있는데 좋은 방법이 없을까요?!

Dim Sht As Worksheet
For Each sht In Workbook.Worksheets
IF sht.Name < > "시트명" Then
sht.Delete
End If
Next Sht 
 
[불량 게시물 신고]  
조삿갓열려 있는 모든 Workbook 개체에 대한 반복문을 바깥쪽에 감싸주면 됩니다.

Dim wb As Integer
Dim wc As Integer
Dim wn As String
Dim Sht As Worksheet

wc = Workbooks.Count
wn = ThisWorkbook.Name
For wb = 1 To wc
    If Workbooks(wb).Name <> wn Then
       For Each sht In Workbooks(wb).Worksheets
           IF sht.Name < > "시트명" Then sht.Delete
       Next Sht
    End If
Next wb

다음 답변내용을 참고로 응용해 보시는 것도 좋은 방법일 것 같습니다
http://www.officetutor.co.kr/board/Dtype/bfrmvw.asp?f_tn=Dqa_excel_n2&f_bno=123159&page=
09-25 (22:38)
삭제 ■신고
룰루오 조삿갓님 고맙습니다! 전달해주신걸 토대로 응용해보겠습니다09-26 (16:39)
삭제 ■신고
        
  

작성일 : 2017-09-25(17:46)
최종수정일 : 2017-09-25(17:47)