室内设计培训
平面设计培训
部落窝教育
网站首页 >> Excel教程 >> 文章内容

vba删除工作表的代码和实例

[日期:2012-02-20]   来源:IT部落窝  作者:IT部落窝   阅读:9553[字体: ]
内容提要:文章介绍excel中vba删除工作表的方法,并通过两个案例来具体理解vba代码。

  上一篇文章我们介绍了使用excel的基础操作来删除工作表。本文给大家分享vba删除工作表的代码写法。

vba删除工作表案例一:删除一张表以外的所有工作表

  如下图所示:这一个excel工作薄包含多张工作表,如何使用vba删除 “IT部落窝论坛”以外的工作表呢?右边截图就是使用VBA代码删除后的效果,整个工作薄就只剩下一张工作表:IT部落窝论坛。

vba删除工作表

  下面是具体的vba删除工作表操作步骤:

  第一,按下ALT+F11,打开VBE编辑器。

  第二,单击菜单:插入——模块,插入一个模块,并复制下面的代码到代码输入区:

Sub vba删除工作表()
    Application.DisplayAlerts = False
    Dim sht As Object
    For Each sht In ThisWorkbook.Worksheets
        If sht.Name <> "
IT部落窝论坛" Then
            sht.Delete
        End If
    Next
    Application.DisplayAlerts = True
End Sub

  第三,单击上面截图所示的工具栏上面那个绿色的“运行”命令,excel就会自动删除“IT部落窝论坛”以外的所有工作表。

excel vba删除工作表

  从两篇删除工作表方法的文章对比,我们可以清楚的看到,如果工作表很多的情况,使用VBA删除工作表,效率会更加高效。而且代码可以随时调用运行,减少手工操作。

vba删除工作表案例二:逐一提示删除工作表

  录制代码的方法参考上面介绍,下面这一段代码运行的结果是出现一个提示框,要求输入工作表名称,如果输入的工作表名正确,excel就删除对应的工作表,如果输入的工作表不正确,excel返回消息框提示:您要删除的工作表不存在。

Sub vba删除工作表()
Dim ws As Worksheet
Dim str As String
str = Application.InputBox(prompt:="输入需要删除的工作表:", Title:="删除工作表", Default:="sheet1", Type:=2)
On Error GoTo back
Set ws = Worksheets(str)
Application.DisplayAlerts = False
ws.Delete
Application.DisplayAlerts = True
Exit Sub
back:
MsgBox "您要删除的工作表不存在!"
End Sub

  上面这段vba删除工作表的方法,如果需要经常使用,我们可以保存为宏,在需要的时候按快捷键ALT+F8调用,只要输入工作表名称即可删除工作表。

IT部落窝PS,CDR,213班 分享到: QQ空间 新浪微博 腾讯微博 人人网
photoshop教程
Photoshop教程
平面设计教程
Photoshop教程