删除指定工作表VBA

上传人:飞*** 文档编号:53299190 上传时间:2018-08-29 格式:PDF 页数:7 大小:786.59KB
返回 下载 相关 举报
删除指定工作表VBA_第1页
第1页 / 共7页
删除指定工作表VBA_第2页
第2页 / 共7页
删除指定工作表VBA_第3页
第3页 / 共7页
删除指定工作表VBA_第4页
第4页 / 共7页
删除指定工作表VBA_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《删除指定工作表VBA》由会员分享,可在线阅读,更多相关《删除指定工作表VBA(7页珍藏版)》请在金锄头文库上搜索。

1、请教各位老师:假如我要在本工作薄中删除,指定工作表名称以外的所有工作表。或是在两个表中间,即 “ 清单汇总 ” 之后和 “ 报废物资 ” 之前的所有工作表。(有好几十个表要经常的删除)谢谢!Sub 删除工作表 () Dim theSht As Object Application.DisplayAlerts = False For Each theSht In ThisWorkbook.Sheets With theSht If .Name “基础基 111“And .Name “基础基 212“And .Name “ 基 础 基331“And .Name “ 基 础 基341“And .Na

2、me “ 基 础 基422“And .Name “ 基 础 基431“And .Name “ 基 础 基 4412“And .Name “ 基 础 基512“And .Name “基础基 532“ Then不删除的工作表名称.Delete End If End With Next theSht Application.DisplayAlerts = True End Sub Sub 删除工作表 () Dim theSht As Object Application.DisplayAlerts = False For Each theSht In ThisWorkbook.Sheets With

3、 theSht If .Name “合并“ And .Name “小青“ Then 不删除的工作表名称.Delete End If End With Next theSht Application.DisplayAlerts = True End Sub 是我没有表达清楚, 能够批量删除工作表了。 但是把其他十个表也给一起删除了,其他十个表是在 “ 清单汇总 ” 之前的位置,名称分别为 “ 记录表” 、“ 清单” 、“ 封面” 等。这个代码怎么修改?谢谢了!1. Sub 删除工作表 () 2. Dim iLocation As Integer, jLocation As Integer, i

4、As Integer 3. iLocation = Sheets(“清单汇总 “).Index 4. jLocation = Sheets(“报废物资 “).Index 5. For i = jLocation - 1 To iLocation + 1 Step -1 6. Sheets(i).Move after:=Sheets(Sheets.Count) 7. Next i 8. Application.DisplayAlerts = False 9. For i = 1 To jLocation - iLocation - 1 10. Sheets(Sheets.Count).Delet

5、e 11. Next i 12. Application.DisplayAlerts = True 13. End Sub 所有工作表的名字取在一个工作表中,你是否弄明白这个这是什么个意思,它或许只是一个技巧,没有实际的用处,但是,喜欢VBA 的朋友可不能放弃这次的学习哦!艺多不压身,艺高人胆大。方法一:宏笔者以 Excel 2013为例, 同样的操作步骤适用于Excel 972016。假定工作薄中已经有三个工作表(实际上,有几个都行)。我们新建一个工作表,新工作表的名称是Sheet4 。Ctrl+N是新建工作薄Shift+F11是新建工作表,小技巧,大速度。按 Alt+F11快捷键,出现 ”

6、Microsoft Visual Basic for Application“窗口。ALT+F11在 EXCEL 窗口打开 Visual Bcsic编辑器窗口,在 Visual Bcsic 编辑器窗口回到 EXCEL 窗口ALT+SHIFT+F11打开 Microsoft 编辑器在左上角的 ” 工程-VBAProject “树状列表中,双击Sheet4 。右边出现一个代码窗口。把以下 VBA 代码复制粘贴到代码窗口中:Private Sub ListSheets() Dim sh As Worksheet Dim rng As Range Dim i As Integer Set rng =

7、ActiveSheet.Range(“A1“) For Each sh In ThisWorkbook.Sheets rng.Offset(i, 0).Value = sh.Name i = i + 1 If i = ThisWorkbook.Sheets.Count - 1 Then Exit For Next sh End Sub 按 F5 快捷键,运行这个过程。然后切换回 Excel 窗口,看看 Sheet4工作表的 A 列,是不是已经把所有工作表的名称列出来了?这个 F5 除了有定位功能还可以运行VBA 代码,当然这要依据您当前使用的环境。方法二:抽取文字右击某个工作表,选择 “ 移动或复制 ” ,弹出“ 移动或复制工作表 ” 对话框。在这里有个列表框,叫作“下列选定工作表之前 ” ,它列出了当前工作簿中所有工作表的名称。这个移动或复制工作表的功能还不小来,不仅可以设置工作表的顺序,还可以复制工作表,并命名。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 其它文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号