Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 2746|回复: 6

[已解决]如何在打开的多个工作薄中找到指定的工作表并删除

[复制链接]
发表于 2015-4-18 16:48 | 显示全部楼层 |阅读模式
我是VBA菜鸟,请教各位大侠:用VBA如何实现历遍打开的工作薄找出指定的工作表并删除。先谢过了!
最佳答案
2015-4-18 21:34
dim wb as workbook,sht as worksheet
for each wb in workbooks
       for each sht in sheets
             if sht.name="待删除" then
                     sht.delete
                     exit for
             end if
       next
next
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2015-4-18 17:07 | 显示全部楼层
  1. Sub demo()
  2.    Application.DisplayAlerts = False
  3.       With ActiveWorkbook
  4.         For Each sht In .Sheets
  5.            If sht.Name = "待删除" Then sht.Delete
  6.         Next
  7.       End With
  8.    Application.DisplayAlerts = True
  9. End Sub
复制代码
回复

使用道具 举报

发表于 2015-4-18 17:08 | 显示全部楼层
删除当前活动工作簿中的待删除工作表
回复

使用道具 举报

 楼主| 发表于 2015-4-18 20:34 | 显示全部楼层
本帖最后由 斗笠渔翁 于 2015-4-18 20:37 编辑
冥王 发表于 2015-4-18 17:07

感谢冥王的热心答复,由于打开的工作薄比较多,不知道这个“待删除”的工作表在哪一个工作薄中,不一定是活动的工作薄,所以需要打开写有此VBA代码工作薄去找到含有“待删除”的工作表的工作薄,然后删除。上面的代码好像不满足要求。
回复

使用道具 举报

发表于 2015-4-18 21:34 | 显示全部楼层    本楼为最佳答案   
dim wb as workbook,sht as worksheet
for each wb in workbooks
       for each sht in sheets
             if sht.name="待删除" then
                     sht.delete
                     exit for
             end if
       next
next
回复

使用道具 举报

发表于 2015-4-18 21:36 | 显示全部楼层
心里预计应该是用类似的循环,平板上瞎敲的,没有经过测试

评分

参与人数 1 +3 收起 理由
斗笠渔翁 + 3

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2015-4-19 09:22 | 显示全部楼层
谢谢冥王,测试通过,完美。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-16 23:35 , Processed in 0.232510 second(s), 12 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表