如何删除某张纸后的纸张?

时间:2015-01-28 01:33:28

标签: excel vba excel-vba

我的工作簿中的工作表为测试。还有其他工作表。我想删除工作表右侧出现的名为Test的工作表。

我如何在VBA中执行此操作?需要一些帮助。

编辑:

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

2 个答案:

答案 0 :(得分:4)

考虑:

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

答案 1 :(得分:1)

对已经提供的内容采取替代方法,如果您有10张(工作表......?)并希望在测试工作表后删除所有内容,只需不断删除sheet(Sheets("test").Index + 1)直到sheets.count小于表格(" test")。索引+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