ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > E问E答 > Excel VBA > 如何用VBA删除所有空白的工作表?

如何用VBA删除所有空白的工作表?

作者:绿色风 分类: 时间:2022-08-17 浏览:106
楼主
wise
Q:如何用VBA删除所有空白的工作表?
A: ALT+F11→插入模块→输入以下代码:

  1. Option Explicit

  2. Sub DeleteBlankSheets()
  3.     Dim sh As Variant
  4.      
  5.     Application.ScreenUpdating = False
  6.     Application.DisplayAlerts = False
  7. On Error GoTo 100:
  8.      
  9.     For Each sh In Sheets '循环各工作表
  10.         If Not IsChart(sh) Then '如果不是嵌套的图表
  11.             If Application.WorksheetFunction.CountA(sh.Cells) = 0 Then sh.Delete '判断该工作表中是否存在内容,如果不存在,则删除
  12.         End If
  13.     Next sh
  14.      
  15. 100:
  16.     Application.ScreenUpdating = True
  17.     Application.DisplayAlerts = True
  18. End Sub

  19. Public Function IsChart(sh) As Boolean
  20.     Dim tmpChart As Chart
  21.     On Error Resume Next
  22.     Set tmpChart = Charts(sh.Name) '获取嵌入的图表名
  23.     IsChart = IIf(tmpChart Is Nothing, False, True) '如果嵌套的图表不存在,则为false,否则为true
  24. End Function



删除空白的工作表.rar
2楼
轩辕轼轲
不错不错,观摩学习。
3楼
7786910
观摩学习。
4楼
kevinchengcw
9

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap