Back to Devexpress

CellRange.HasArrayFormula Property

officefileapi-devexpress-dot-spreadsheet-dot-cellrange-c0ddd395.md

latest5.1 KB
Original Source

CellRange.HasArrayFormula Property

Determines whether the current cell or cell range intersects a range filled with a legacy array formula.

Namespace : DevExpress.Spreadsheet

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

NuGet Package : DevExpress.Spreadsheet.Core

Declaration

csharp
bool HasArrayFormula { get; }
vb
ReadOnly Property HasArrayFormula As Boolean

Property Value

TypeDescription
Boolean

true if the current range intersects an array formula range; otherwise, false.

|

Remarks

An Array formula is a formula that performs actions on two or more sets of values called array arguments. Each array argument must have the same number of rows and columns. The result of an array formula can be either a single value or multiple values. For detailed information, refer to the following article: Array Formulas.

Example

This example creates a legacy array formula:

View Example

csharp
// Create an array formula that multiplies values contained in the cell range A2 through A11 
// by the corresponding cells in the range B2 through B11, 
// and displays the results in cells C2 through C11.
worksheet.Range.FromLTRB(2,1,2,10).ArrayFormula = "=A2:A11*B2:B11";

// Create an array formula that multiplies values contained in the cell range C2 through C11 by 2
// and displays the results in cells D2 through D11.
worksheet.Range["D2:D11"].ArrayFormula = "=C2:C11*2";

// Create an array formula that multiplies values contained in the cell range B2 through D11, 
// adds the results, and displays the total sum in cell D12.
worksheet.Cells["D12"].ArrayFormula = "=SUM(B2:B11*C2:C11*D2:D11)";

// Re-dimension an array formula range:
// delete the array formula and create a new range with the same formula.
if (worksheet.Cells["C13"].HasArrayFormula) {
    string af = worksheet.Cells["C13"].ArrayFormula;
    worksheet.Cells["C13"].GetArrayFormulaRange().ArrayFormula = string.Empty;
    worksheet.Range.FromLTRB(2,1,2,10).ArrayFormula = af;
}
vb
' Create an array formula that multiplies values contained in the cell range A2 through A11 
' by the corresponding cells in the range B2 through B11, 
' and displays the results in cells C2 through C11.
worksheet.Range.FromLTRB(2,1,2,10).ArrayFormula = "=A2:A11*B2:B11"

' Create an array formula that multiplies values contained in the cell range C2 through C11 by 2
' and displays the results in cells D2 through D11.
worksheet.Range("D2:D11").ArrayFormula = "=C2:C11*2"

' Create an array formula that multiplies values contained in the cell range B2 through D11, 
' adds the results, and displays the total sum in cell D12.
worksheet.Cells("D12").ArrayFormula = "=SUM(B2:B11*C2:C11*D2:D11)"

' Re-dimension an array formula range:
' delete the array formula and create a new range with the same formula.
If worksheet.Cells("C13").HasArrayFormula Then
    Dim af As String = worksheet.Cells("C13").ArrayFormula
    worksheet.Cells("C13").GetArrayFormulaRange().ArrayFormula = String.Empty
    worksheet.Range.FromLTRB(2,1,2,10).ArrayFormula = af
End If

The following code snippet (auto-collected from DevExpress Examples) contains a reference to the HasArrayFormula property.

Note

The algorithm used to collect these code examples remains a work in progress. Accordingly, the links and snippets below may produce inaccurate results. If you encounter an issue with code examples below, please use the feedback form on this page to report the issue.

spreadsheet-document-api-examples-part1/VB/SpreadsheetExamples/SpreadsheetActions/FormulaActions.vb#L194

vb
' delete the array formula and create a new range with the same formula.
If worksheet.Cells("C13").HasArrayFormula Then
    Dim af As String = worksheet.Cells("C13").ArrayFormula

See Also

HasFormula

CellRange Interface

CellRange Members

DevExpress.Spreadsheet Namespace