Note: The other languages of the website are Google-translated. Back to English

如何在Excel中删除所有空白工作表?

同时,如果您的工作簿中包含很多工作表,则其中有一些空白工作表。 现在,您要删除空白工作表以保存或存档文件。 您如何从多个工作表中搜索空白表并自动将其删除?

用VBA代码删除所有空白工作表

使用Kutools for Excel删除所有空白工作表

Office选项卡在Office中启用选项卡式编辑和浏览,并使您的工作更加轻松...
Kutools for Excel解决了您的大多数问题,并使您的生产率提高了80%
  • 重用任何东西: 将最常用或最复杂的公式,图表等添加到您的收藏夹中,并在将来快速重用它们。
  • 超过20种文字功能: 从文本字符串中提取数字; 提取或删除部分文字; 将数字和货币转换为英文单词。
  • 合并工具:将多个工作簿和工作表合二为一; 合并多个单元格/行/列,而不会丢失数据; 合并重复的行和总和。
  • 分割工具:根据价值将数据分割成多个工作表; 一本工作簿可转换为多个Excel,PDF或CSV文件; 一列到多列。
  • 跳过粘贴 隐藏/过滤的行; 计数与求和 按背景色; 向多个收件人批量发送个性化电子邮件。
  • 超级过滤器: 创建高级过滤方案并应用于任何工作表; 排序 按星期,日期,频率等 筛选器 用粗体,公式,注释...
  • 超过300种强大的功能; 适用于 Office 2007-2021 和 365; 支持所有语言; 在您的企业或组织中轻松部署。

箭头蓝色右气泡 用VBA代码删除所有空白工作表

对于您来说,检查空白工作表并一一删除它们是很麻烦的,但是使用以下VBA代码,您可以轻松地一次删除所有空白工作表。

1。 按住 ALT + F11 键,然后打开 Microsoft Visual Basic应用程序 窗口。

2。 点击 插页 > 模块,然后将以下代码粘贴到“模块”窗口中。

VBA:删除所有空白工作表

Sub DeleteBlankWorksheets()'更新20130830将Ws作为错误恢复工作时的下一个工作表Next Application.ScreenUpdating = False Application.DisplayAlerts = False对于Application.Worksheets中的每个Ws如果Application.WorksheetFunction.CountA(Ws.UsedRange)= 0然后Ws.Delete End如果Next Application.ScreenUpdating = True Application.DisplayAlerts = True End Sub

3。 然后按 F5 键,并立即删除所有空白工作表。


箭头蓝色右气泡 使用Kutools for Excel删除所有空白工作表

如果您不熟悉VBA代码,我可以为您介绍一个简单的工具- Kutools for Excel,其 删除空白工作表 功能,您可以一键删除所有空的工作表。

Kutools for Excel 包括300多个便捷的Excel工具。 30天免费试用,不受限制。 立即获取.

安装Kutools for Excel后,请执行以下步骤:

1。 点击 企业 > 工作表工具 > 删除空白工作表,请参见屏幕截图:

文档删除空白表 1

2. 然后将出现一个提示框,提醒您是否要删除所有空白工作表,请参见屏幕截图:

文档删除空白表 2

3。 然后点击 ,并且空白工作表已成功删除。 查看屏幕截图:

文档删除空白表 3
-1
文档删除空白表 4

如果您想进一步了解此功能,请单击 删除空白工作表.


相关文章:

如何在Excel中删除隐藏的工作表?


最佳办公效率工具

Kutools for Excel解决了您的大多数问题,并使您的生产率提高了80%

  • 重用: 快速插入 复杂的公式,图表 以及您以前使用过的任何东西; 加密单元 带密码 创建邮件列表 并发送电子邮件...
  • 超级公式栏 (轻松编辑多行文本和公式); 阅读版式 (轻松读取和编辑大量单元格); 粘贴到过滤范围...
  • 合并单元格/行/列 不会丢失数据; 拆分单元格内容; 合并重复的行/列...防止细胞重复; 比较范围...
  • 选择重复或唯一 行; 选择空白行 (所有单元格都是空的); 超级查找和模糊查找 在许多工作簿中; 随机选择...
  • 确切的副本 多个单元格,无需更改公式参考; 自动创建参考 到多张纸; 插入项目符号,复选框等...
  • 提取文字,添加文本,按位置删除, 删除空间; 创建和打印分页小计; 在单元格内容和注释之间转换...
  • 超级滤镜 (将过滤方案保存并应用于其他工作表); 高级排序 按月/周/日,频率及更多; 特殊过滤器 用粗体,斜体...
  • 结合工作簿和工作表; 根据关键列合并表; 将数据分割成多个工作表; 批量转换xls,xlsx和PDF...
  • 超过300种强大功能. 支持 Office / Excel 2007-2021 和 365。支持所有语言。 在您的企业或组织中轻松部署。 完整功能 30 天免费试用。 60 天退款保证。
kte选项卡201905

Office选项卡为Office带来了选项卡式界面,使您的工作更加轻松

  • 在Word,Excel,PowerPoint中启用选项卡式编辑和阅读,发布者,Access,Visio和Project。
  • 在同一窗口的新选项卡中而不是在新窗口中打开并创建多个文档。
  • 每天将您的工作效率提高50%,并减少数百次鼠标单击!
officetab底部
按评论排序
注释 (3)
还没有评分。 成为第一位评论!
该评论由网站上的主持人最小化
未找到类型“WorkbookClass”的公共成员“WorksheetFunction”。
我正在使用 Interop.Excel
该评论由网站上的主持人最小化
Estimado, no se si me pueda ayudar。 Tengo esta macro precisamente para eliminar hojas vacías, pero no logro hacer que funcione al correrla una sola vez, la tengo que ejecutar dos veces para que borre todas las hojas vacías。 Que esta fallando para que haga la tarea de borrar todas las hojas en una sola corrida。

La 宏 es:

Sub Buscar_Hojas_Vacías_y_Elimnarlas2()

Dim Nhojas 饰 整数
昏暗的整数

出错时继续下一步
Application.ScreenUpdating = False
Application.DisplayAlerts = False

Nhojas = Sheets.Count

对于 i = 1 至 Nhojas

如果 WorksheetFunction.CountA(Sheets(i).UsedRange) = 0 并且 Sheets(i).Shapes.Count = 0 那么

Sheets(i).删除

其他
'那达
结束如果
接下来,我

出错时转到 0
Application.ScreenUpdating =真
Application.DisplayAlerts = True

END SUB

Gracias, espero sus commentarios。
该评论由网站上的主持人最小化
我不会说你的语言,但我发现你的代码有缺陷。
问题是>> Nhojas = Sheets.Count
然后您依赖于 Nhojas,但是当您删除工作表时,您不会将 Nhojas 减少 1

因此,只需在“Sheets(i).Delete”之后和“Else”之前将此行添加到您的代码中:
Nhojas = Nhojas - 1

捐赠:)

虽然你做得很好,但是当你尝试调试代码时,你需要干运行你的代码。
这里还没有评论
留下你的意见
以访客身份发帖
×
评价此帖子:
0   产品特性
建议地点

关注我们

版权所有 © 2009 - extendoffice.com。 | 版权所有。 供电 ExtendOffice。 | 网站地图
Microsoft和Office徽标是Microsoft Corporation在美国和/或其他国家的商标或注册商标。
受Sectigo SSL保护