在excel中如何使用vba命令实现批量删除指定名称的工作表
发布网友
发布时间:2022-04-23 23:05
我来回答
共3个回答
热心网友
时间:2023-10-11 14:29
按Alt + F11,双击ThisWorkbook,粘贴下面的代码:
Sub ouyangff()
On Error Resume Next
Application.DisplayAlerts = False
For i = 2 To [g65536].End(3).Row
a$ = Cells(i, 7)
Sheets(a$).Delete
Next
Application.DisplayAlerts = True
End Sub
按Alt + F11,回到你的画面所示的“表”中!
按Alt + F8,确定!
去试一试吧!!!
热心网友
时间:2023-10-11 14:29
已修改。其中cells(2,7)表示第2行,第7列。如果要改到其他列,可以稍作修改。
Sub te()
Dim Arr1
On Error Resume Next
Application.DisplayAlerts = False
Arr1 = Range(Cells(2, 7), Cells(Cells(65536, 7).End(xlUp).Row, 7))
For Each i In Arr1
Sheets(i).Delete
Next
Application.DisplayAlerts = True
End Sub追问
先谢谢楼上的解答,但是我要删除的不是静态制定的工作表,而是
如图所示的G列动态的,在后台利用命令调用G列中的字符串删除名称相应的工作表的,你看能不能再帮一下,不管如何还是万分感谢了······
热心网友
时间:2023-10-11 14:30
代码及注释如下:
Sub shanchu()
Application.DisplayAlerts = False'关闭提示,否则每删除一个非空工作表,都会出现提示
For i = 2 To [g65536].End(3).Row'i从2到G列最后一个非空行数循环
Sheets(Cells(i, 7).Delete'将工作表名为G列对应的工作表删除
Next
Application.DisplayAlerts = True'开启提示
End Sub