How to: Programmatically Delete Worksheets from Workbooks
You can delete any worksheet in a workbook. To delete a worksheet, use the worksheet host item or access the worksheet by using the sheets collection of the workbook.
Applies to: The information in this topic applies to document-level projects and application-level projects for Excel 2013 and Excel 2010. For more information, see Features Available by Office Application and Project Type.
Using the Worksheet Host Item
If the worksheet was added at design-time in a document-level customization, use the Delete method to delete a specified worksheet. The following code deletes a worksheet from a workbook by referencing the worksheet host item directly.
Important
This code runs only in projects that you create by using any of the following project templates:
-
Excel 2013 Workbook
-
Excel 2013 Template
-
Excel 2010 Workbook
-
Excel 2010 Template
If you want to perform this task in any other type of project, you must add a reference to the Microsoft.Office.Interop.Excel assembly, and then you must use classes from that assembly to open a workbook and delete a worksheet. For more information, see How to: Target Office Applications Through Primary Interop Assemblies and Excel 2010 Primary Interop Assembly Reference.
To delete a worksheet by using a worksheet host item
Call the Delete method of Sheet1.
Globals.Sheet1.Delete()
Globals.Sheet1.Delete();
Using the Sheets Collection of the Excel Workbook
Access worksheets through the Microsoft Office Excel Sheets collection in the following cases:
You want to delete a worksheet in an application-level add-in.
The worksheet that you want to delete was created at run time in a document-level customization.
The following code deletes a worksheet from a workbook by referencing the sheet through the index number of the Sheets collection. This code assumes that a new worksheet was created programmatically.
Important
This code runs only in projects that you create by using any of the following project templates:
-
Excel 2013 Workbook
-
Excel 2013 Template
-
Excel 2013 Add-in
-
Excel 2010 Workbook
-
Excel 2010 Template
-
Excel 2010 Add-in
If you want to perform this task in any other type of project, you must add a reference to the Microsoft.Office.Interop.Excel assembly, and then you must use classes from that assembly to open a workbook and delete a worksheet. For more information, see How to: Target Office Applications Through Primary Interop Assemblies and Excel 2010 Primary Interop Assembly Reference.
To delete a worksheet by using the Sheets collection of the Excel workbook
Call the Delete method of the Sheets collection.
CType(Me.Application.ActiveWorkbook.Sheets(4), Excel.Worksheet).Delete()
((Excel.Worksheet)this.Application.ActiveWorkbook.Sheets[4]).Delete();
See Also
Tasks
How to: Programmatically Hide Worksheets
How to: Programmatically Move Worksheets Within Workbooks
How to: Programmatically Select Worksheets
How to: Programmatically Add New Worksheets to Workbooks