Sheets.Add method (Excel)

Creates a new worksheet, chart, or macro sheet. The new worksheet becomes the active sheet.

Syntax

expression.Add (Before, After, Count, Type)

expression A variable that represents a Sheets object.

Parameters

Name Required/Optional Data type Description
Before Optional Variant An object that specifies the sheet before which the new sheet is added.
After Optional Variant An object that specifies the sheet after which the new sheet is added.
Count Optional Variant The number of sheets to be added. The default value is one.
Type Optional Variant Specifies the sheet type. Can be one of the following XlSheetType constants: xlWorksheet, xlChart, xlExcel4MacroSheet, or xlExcel4IntlMacroSheet. If you are inserting a sheet based on an existing template, specify the path to the template. The default value is xlWorksheet.

Return value

An Object value that represents the new worksheet, chart, or macro sheet.

Remarks

If Before and After are both omitted, the new sheet is inserted before the active sheet.

Example

This example inserts a new worksheet before the last worksheet in the active workbook.

ActiveWorkbook.Sheets.Add Before:=ActiveWorkbook.Worksheets(ActiveWorkbook.Worksheets.Count)

This example inserts a new worksheet after the last worksheet in the active workbook, and captures the returned object reference in a local variable.

Dim sheet As Worksheet
Set sheet = ActiveWorkbook.Sheets.Add(After:=ActiveWorkbook.Worksheets(ActiveWorkbook.Worksheets.Count))

Note

In 32-bit Excel 2010, this method cannot create more than 255 sheets at one time.

Support and feedback

Have questions or feedback about Office VBA or this documentation? Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.