Share via


How to: Programmatically delete worksheets from workbooks

Applies to: yesVisual Studio noVisual Studio for Mac

Note

This article applies to Visual Studio 2017. If you're looking for the latest Visual Studio documentation, see Visual Studio documentation. We recommend upgrading to the latest version of Visual Studio. Download it here

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.

Use 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:

To delete a worksheet by using a worksheet host item

  1. Call the Delete method of Sheet1.

    Globals.Sheet1.Delete();
    
    Globals.Sheet1.Delete()
    

Use 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 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.

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();
    
    CType(Me.Application.ActiveWorkbook.Sheets(4), Excel.Worksheet).Delete()
    

See also