Skip to main content

How to delete all the blank worksheets in Excel?

Author: Xiaoyang Last Modified: 2013-10-25

If you have a workbook which has lots of worksheets, meanwhile, there are some blank worksheets in it. And now you want to delete the blank worksheets to save or archive the file. How could you search for the blank sheets from multiple worksheets and delete them automatically?

Delete all blank worksheets with VBA code

Delete all blank worksheets with Kutools for Excel

arrow blue right bubble Delete all blank worksheets with VBA code

It is troublesome for you to check for the blank worksheets and remove them one by one, but with the following VBA code, you can easily delete all blank worksheets at once.

1. Hold down the ALT + F11 keys, and it opens the Microsoft Visual Basic for Applications window.

2. Click Insert > Module, and paste the following code in the Module window.

VBA: delete all blank worksheets

Sub DeleteBlankWorksheets()
'Update 20130830
Dim Ws As Worksheet
On Error Resume Next
Application.ScreenUpdating = False
Application.DisplayAlerts = False
For Each Ws In Application.Worksheets
    If Application.WorksheetFunction.CountA(Ws.UsedRange) = 0 Then
    End If
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub

3. Then press F5 key, and all the blank worksheets are deleted at once.

arrow blue right bubble Delete all blank worksheets with Kutools for Excel

If you are not familiar with the VBA code, I can introduce you an easy tool- Kutools for Excel, with its Delete Blank Worksheets function, you can remove all empty worksheets with one click.

Kutools for Excel includes more than 300 handy Excel tools. Free to try with no limitation in 30 days. Get it Now.

When you have installed Kutools for Excel, please do as the following steps:

1. Click Enterprise > Worksheet Tools > Delete Blank Worksheets, see screenshot:


2. And a prompt box will appear to remind you whether you want to delete all blank worksheets or not, see screenshot:


3. Then click Yes, and the blank worksheets have been deleted successfully. See screenshots:


If you want to know more about this feature, please click Delete Blank Worksheets.

Related article:

How to delete hidden worksheets in Excel?

Best Office Productivity Tools

🤖 Kutools AI Aide: Revolutionize data analysis based on: Intelligent Execution   |  Generate Code  |  Create Custom Formulas  |  Analyze Data and Generate Charts  |  Invoke Kutools Functions…
Popular Features: Find, Highlight or Identify Duplicates   |  Delete Blank Rows   |  Combine Columns or Cells without Losing Data   |   Round without Formula ...
Super Lookup: Multiple Criteria VLookup    Multiple Value VLookup  |   VLookup Across Multiple Sheets   |   Fuzzy Lookup ....
Advanced Drop-down List: Quickly Create Drop Down List   |  Dependent Drop Down List   |  Multi-select Drop Down List ....
Column Manager: Add a Specific Number of Columns  |  Move Columns  |  Toggle Visibility Status of Hidden Columns  |  Compare Ranges & Columns ...
Featured Features: Grid Focus   |  Design View   |   Big Formula Bar    Workbook & Sheet Manager   |  Resource Library (Auto Text)   |  Date Picker   |  Combine Worksheets   |  Encrypt/Decrypt Cells    Send Emails by List   |  Super Filter   |   Special Filter (filter bold/italic/strikethrough...) ...
Top 15 Toolsets12 Text Tools (Add Text, Remove Characters, ...)   |   50+ Chart Types (Gantt Chart, ...)   |   40+ Practical Formulas (Calculate age based on birthday, ...)   |   19 Insertion Tools (Insert QR Code, Insert Picture from Path, ...)   |   12 Conversion Tools (Numbers to Words, Currency Conversion, ...)   |   7 Merge & Split Tools (Advanced Combine Rows, Split Cells, ...)   |   ... and more

Supercharge Your Excel Skills with Kutools for Excel, and Experience Efficiency Like Never Before. Kutools for Excel Offers Over 300 Advanced Features to Boost Productivity and Save Time.  Click Here to Get The Feature You Need The Most...


Office Tab Brings Tabbed interface to Office, and Make Your Work Much Easier

  • Enable tabbed editing and reading in Word, Excel, PowerPoint, Publisher, Access, Visio and Project.
  • Open and create multiple documents in new tabs of the same window, rather than in new windows.
  • Increases your productivity by 50%, and reduces hundreds of mouse clicks for you every day!
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


' 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
Leave your comments
Posting as Guest
Rate this post:
0   Characters
Suggested Locations