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 VSTO add-in projects for Excel. For more information, see Features Available by Office Application and Project Type.

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.

System_CAPS_ICON_important.jpg 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

  1. Call the Delete method of Sheet1.

                Globals.Sheet1.Delete();
    

Access worksheets through the Microsoft Office Excel Sheets collection in the following cases:

  • You want to delete a worksheet in a VSTO 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.

System_CAPS_ICON_important.jpg Important


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

  1. Call the Delete method of the Sheets collection.

                ((Excel.Worksheet)this.Application.ActiveWorkbook.Sheets[4]).Delete();
    

Working with Worksheets
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
Worksheet Host Item
Global Access to Objects in Office Projects
Programmatic Limitations of Host Items and Host Controls

Show: