2015-01-28 3 views
0

워크 북에 시험으로 워크 북을 가지고 있습니다. 다른 워크 시트도 있습니다. Test라는 워크 시트의 오른쪽에 나타나는 워크 시트를 삭제하고 싶습니다.특정 시트 다음에 시트를 삭제하는 방법은 무엇입니까?

VBA에서 어떻게합니까? 이것에 대한 도움이 필요합니다.

편집 :

Set test= ThisWorkbook.Worksheets("Test") 
For i = Sheets.Count To (test.Index + 1) Step -1 
    Delete Sheets(i) 
Next 
+1

시도해 보셨습니까? 시트 테스트에는 탭 위치를 나타내는'Index' 속성이 있습니다.이 태그를 사용할 수 있습니다. –

+0

시작하는 방법을 잘 모릅니다. 시도한 검색. 별로 도움이되지 않습니다. – lakesh

+0

'for i = Sheets.Count To (shtTest.Index + 1) Step-1'을 사용합니다. 여기서'shtTest'는 워크 시트 "Test"를 나타내는 변수입니다. 각 반복마다 'Sheets (i)'를 삭제하십시오. –

답변

1

고려 : 이미 제안 된 내용은 10 장을 한 경우에 다른 방법을 촬영

Sub SheetKiller() 
    Dim i As Long 
    Dim j As Long 
    j = 0 
    For i = 1 To Sheets.Count 
     If Sheets(i).Name = "Test" Then 
      j = i 
     End If 
    Next i 

    If j = 0 Or j = Sheets.Count Then Exit Sub 

    Application.DisplayAlerts = False 
     For i = Sheets.Count To j + 1 Step -1 
      Sheets(i).Delete 
     Next i 
    Application.DisplayAlerts = True 
End Sub 
0

을하고 이후 모든 것을 제거하고 싶어 (워크 시트 ..?) 시험 워크 시트는 sheets.count가 Sheets ("test")보다 작을 때까지 sheet(Sheets("test").Index + 1)을 계속 간단히 삭제합니다.

Application.DisplayAlerts = False 'take off the training wheels 
Do While Sheets.Count > Sheets("test").Index 
    Sheets(Sheets("test").Index + 1).Delete 
Loop 
Application.DisplayAlerts = True 
관련 문제