20、[VBA入门到放弃笔记] 删除工作表

  • 删除存在的工作表。如果工作表不存在,则会返回错误。
Sub 删除工作表() 
      Worksheets("小强").Delete
End Sub

  • 将工作表放进对象变量,判断工作表是否存在(有时候需要判断工作表是否存在,然后再进行删除操作)
Sub 判断工作表是否存在()
1:        Dim Sht As Worksheet
2:        On Error GoTo line
3:        Set Sht = Worksheets("小强")
4:        MsgBox "工作簿中已有工作表" & "【" & Sht.Name & "】"
5:        Exit Sub'退出过程
line:
6:        MsgBox "工作簿中没有""小强""工作表!"
End Sub
  • 如果不存在‘小强’工作表,则Sht就是nothing,会发生错误。
  • On Error GoTo line 当发生错误时,代码跳转到 line:所在的位置,两个语句中间的代码(第3行~第5行)将不会被执行,系统会继续执行 line:后面的第6行代码。

  • 通过循环来判断工作表是否存在
Sub 工作表是否存在1()
    Dim sn As String
    Dim Sht As Worksheet
    For Each Sht In Worksheets
        sn = Sht.Name'工作表名称
        If sn = "abc" Then
            MsgBox "存在工作表abc"
            Exit Sub'退出过程
        End If
    Next
    MsgBox "不存在工作表abc"
End Sub

  • 批量删除工作表
    -练习:只保留【小明】一个工作表,其他全部删除
练习
Sub 批量删除工作表()
    Dim Sht As Worksheet
    Application.DisplayAlerts = False '关闭提示
    For Each Sht In Worksheets'遍历所有工作表
        If Sht.Name <> "小明" Then'如果工作表名称不是‘小明’
            Sht.Delete'删除工作表
        End If
    Next
    Application.DisplayAlerts = True
End Sub

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容