How to: Programmatically delete worksheets from workbooks
Applies to: Visual Studio Visual 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:
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()
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
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
- Work 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