如何批量删除多个excel中的除指定保留sheet外的其他sheet.在线等~~

已经找到批量删除指定sheet的代码了,请问如何能保留指定sheet,删除其余sheet.谢谢!!使用vba

Sub 删除指定表()
Dim Brr(1 To 20, 1 To 1)
Dim l As Integer
For l = 1 To Sheets.Count
Brr(l, 1) = Sheets(l).Name
Next
For i = 1 To Sheets.Count
If Brr(i, 1) = "汇总" Then
Else
Sheets(Brr(i, 1)).Select
Application.DisplayAlerts = False
ActiveWindow.SelectedSheets.Delete
Application.DisplayAlerts = True
End If
Next
End Sub

把汇总改成你要保留的表名即可

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-11-02
Sub 删除非指定工作表()
'定义一个数组Wjmb,用来储存不删除工作表的名称
Dim Wjmb(2) As String
Dim She As Worksheet
Dim Pdbz As Boolean

'将指定不删除工作表的名称保存到数组Wjmb中
Wjmb(1) = "Sheet1"
Wjmb(2) = "ABC"

'关闭警告信息的提示
Application.DisplayAlerts = False

'在当前工作簿中寻找不是指定的工作表,并将它删除
For Each She In ActiveWorkbook.Worksheets
'在指定数中查找当前工作表名称是否存在
Pdbz = False
For Each wjm In Wjmb
'如果存在,将Pdbz赋值为真,并退出数组循环
If She.Name = wjm Then
Pdbz = True
Exit For
End If
Next
'如Pdbz不为真(即不是指定的工作表),则将当前工作表删除
If Pdbz = False Then
She.Delete
End If
Next

'关闭警告信息的提示
Application.DisplayAlerts = True
End Sub
第2个回答  2020-11-01
取表格名称,符合的跳转,不符合的删除。
第3个回答  2020-11-01
具体点详细点最好提供点
相似回答