跳到主要內容

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

同時,如果您的工作簿中包含許多工作表,則其中有一些空白工作表。 現在,您要刪除空白工作表以保存或存檔文件。 您如何從多個工作表中搜索空白表並自動將其刪除?

用VBA代碼刪除所有空白工作表

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


箭頭藍色右氣泡 用VBA代碼刪除所有空白工作表

對於您來說,檢查空白工作表並一一刪除它們是很麻煩的,但是使用以下VBA代碼,您可以輕鬆地一次刪除所有空白工作表。

1。 按住 ALT + F11 鍵,然後打開 Microsoft Visual Basic for Applications 窗口。

2。 點擊 插入 > 模塊,然後將以下代碼粘貼到“模塊”窗口中。

VBA:刪除所有空白工作表

Sub DeleteBlankWorksheets()'更新20130830在錯誤繼續工作時將Ws作為工作表恢復下一個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代碼,我可以為您介紹一個簡單的工具- Excel的Kutools,其 刪除空白工作表 功能,您可以一鍵刪除所有空的工作表。

Excel的Kutools 包括300多個便捷的Excel工具。 30天免費試用,不受限制。 立即獲取.

安裝Kutools for Excel後,請執行以下步驟:

1。 點擊 企業 > 工作表工具 > 刪除空白工作表,請參見屏幕截圖:

文檔刪除空白表 1

2. 然後將出現一個提示框,提醒您是否要刪除所有空白工作表,請參見屏幕截圖:

文檔刪除空白表 2

3。 然後點擊 ,並且空白工作表已成功刪除。 查看屏幕截圖:

文檔刪除空白表 3
-1
文檔刪除空白表 4

如果您想進一步了解此功能,請單擊 刪除空白工作表.


相關文章:

如何在Excel中刪除隱藏的工作表?

最佳辦公生產力工具

熱門特色: 尋找、突出顯示或識別重複項   |  刪除空白行   |  合併列或儲存格而不遺失數據   |   沒有公式的回合 ...
超級查詢: 多條件VLookup    多值VLookup  |   跨多個工作表的 VLookup   |   模糊查詢 ....
高級下拉列表: 快速建立下拉列表   |  依賴下拉列表   |  多選下拉列表 ....
欄目經理: 新增特定數量的列  |  移動列  |  切換隱藏列的可見性狀態  |  比較範圍和列 ...
特色功能: 網格焦點   |  設計圖   |   大方程式酒吧    工作簿和工作表管理器   |  資源庫 (自動文字)   |  日期選擇器   |  合併工作表   |  加密/解密單元格    按清單發送電子郵件   |  超級濾鏡   |   特殊過濾器 (過濾粗體/斜體/刪除線...)...
前 15 個工具集12 文本 工具 (添加文本, 刪除字符,...)   |   50+ 圖表 類型 (甘特圖,...)   |   40+ 實用 公式 (根據生日計算年齡,...)   |   19 插入 工具 (插入二維碼, 從路徑插入圖片,...)   |   12 轉化 工具 (數字到單詞, 貨幣兌換,...)   |   7 合併與拆分 工具 (高級合併行, 分裂細胞,...)   |   ... 和更多

使用 Kutools for Excel 增強您的 Excel 技能,體驗前所未有的效率。 Kutools for Excel 提供了 300 多種進階功能來提高生產力並節省時間。  點擊此處獲取您最需要的功能...

kte選項卡201905


Office選項卡為Office帶來了選項卡式界面,使您的工作更加輕鬆

  • 在Word,Excel,PowerPoint中啟用選項卡式編輯和閱讀,發布者,Access,Visio和Project。
  • 在同一窗口的新選項卡中而不是在新窗口中打開並創建多個文檔。
  • 將您的工作效率提高 50%,每天為您減少數百次鼠標點擊!
Comments (3)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
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 macro es:

Sub Buscar_Hojas_Vacías_y_Eliminarlas2()

Dim Nhojas As Integer
Dim i As Integer

On Error Resume Next
Application.ScreenUpdating = False
Application.DisplayAlerts = False

Nhojas = Sheets.Count

For i = 1 To Nhojas

If WorksheetFunction.CountA(Sheets(i).UsedRange) = 0 And Sheets(i).Shapes.Count = 0 Then

Sheets(i).Delete

Else
' Nada
End If
Next i

On Error GoTo 0
Application.ScreenUpdating = True
Application.DisplayAlerts = True

End Sub

Gracias, espero sus comentarios.
This comment was minimized by the moderator on the site
I cannot speak your language but I see a flaw in your code.
The problem is >> Nhojas = Sheets.Count
And then you depend on Nhojas but when you delete a sheet you do not reduce Nhojas by 1

So just add this line to your code after "Sheets(i).Delete" and before "Else":
Nhojas = Nhojas - 1

Done :)

You have done a good job though, but you need to dry run your code when you try and debug the code.
This comment was minimized by the moderator on the site
Public member 'WorksheetFunction' on type 'WorkbookClass' not found.
i'm using Interop.Excel
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations