在excel中如何使用vba命令实现批量删除指定名称的工作表

走过路过的帅哥靓姐们,懂的请多多指教小弟我,你的几句提语将可能对小弟来说是最大的帮助······谢谢了,谢谢·····先谢谢楼上的解答,但是我要删除的不是静态制定的工作表... 走过路过的帅哥靓姐们,懂的请多多指教小弟我,你的几句提语将可能对小弟来说是最大的帮助······谢谢了,谢谢·····
先谢谢楼上的解答,但是我要删除的不是静态制定的工作表,而是

如图所示的G列动态的,在后台利用命令调用G列中的字符串删除名称相应的工作表的,你看能不能再帮一下,不管如何还是万分感谢了······
展开
 我来答
ouyangff
2012-11-19 · TA获得超过6594个赞
知道大有可为答主
回答量:3477
采纳率:66%
帮助的人:4704万
展开全部
按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,确定!
去试一试吧!!!
叫傲老0M
2012-11-18 · TA获得超过159个赞
知道小有建树答主
回答量:134
采纳率:100%
帮助的人:183万
展开全部
已修改。其中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列中的字符串删除名称相应的工作表的,你看能不能再帮一下,不管如何还是万分感谢了······

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
鱼木混猪哟
高粉答主

推荐于2016-07-10 · 专注Office,尤其Excel和VBA
鱼木混猪哟
采纳数:6078 获赞数:33696

向TA提问 私信TA
展开全部
代码及注释如下:
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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式