.NET Framework 4.5.2+
.NET Framework 4.5.2+
.NET Standard 2.0+

IWorkbook.DefinedNames Property

Gets the collection of defined names whose scope is the current workbook.

Namespace: DevExpress.Spreadsheet

Assembly: DevExpress.Spreadsheet.v20.2.Core.dll


DefinedNameCollection DefinedNames { get; }
ReadOnly Property DefinedNames As DefinedNameCollection

Property Value

Type Description

A DefinedNameCollection collection of a workbook's defined names.


Each defined name has a scope - an area (an individual worksheet or entire workbook) within which a name is recognized and can be used without qualification. So, each worksheet contained in the workbook and the entire workbook has it's own collection of defined names that can be accessed via the Worksheet.DefinedNames or DefinedNames properties, respectively.

Use members of the DefinedNameCollection object to create new defined names for cells and formulas, access an individual defined name by its index in the collection or name, remove names from the collection, etc.

For more details on defined names, refer to the Defined Names document.


This example demonstrates how to define names for formulas. To do this, call the DefinedNameCollection.Add method with a name to be associated with a formula and the formula string passed as parameters. Use the Worksheet.DefinedNames or IWorkbook.DefinedNames property to access and modify the collection of defined names of a particular worksheet or entire workbook, depending on which scope you want to specify for a name.

Worksheet worksheet1 = workbook.Worksheets["Sheet1"];
Worksheet worksheet2 = workbook.Worksheets["Sheet2"];

// Create a name for a formula that sums up the values of all cells included in the "A1:C3" range of the "Sheet1" worksheet. 
// The scope of this name will be limited by the "Sheet1" worksheet.
worksheet1.DefinedNames.Add("Range_Sum", "=SUM(Sheet1!$A$1:$C$3)");

// Create a name for a formula that doubles the value resulting from the "Range_Sum" named formula and
// make this name available within the entire workbook.
workbook.DefinedNames.Add("Range_DoubleSum", "=2*Sheet1!Range_Sum");

// Create formulas that use other formulas with the specified names.
worksheet2.Cells["C2"].Formula = "=Sheet1!Range_Sum";
worksheet2.Cells["C3"].Formula = "=Range_DoubleSum";
worksheet2.Cells["C4"].Formula = "=Range_DoubleSum + 100";
See Also