Skip to main content
All docs
V25.1
  • Row

    DevExpress v25.1 Update — Your Feedback Matters

    Our What's New in v25.1 webpage includes product-specific surveys. Your response to our survey questions will help us measure product satisfaction for features released in this major update and help us refine our plans for our next major release.

    Take the survey Not interested

    CellRange Interface

    Defines a range of cells and serves as the base for the Cell, CellCollection, Column and Row interfaces.

    Namespace: DevExpress.Spreadsheet

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

    NuGet Package: DevExpress.Spreadsheet.Core

    #Declaration

    public interface CellRange :
        Formatting,
        IEnumerable<Cell>,
        IEnumerable

    The following members return CellRange objects:

    Show 89 links
    Library Related API Members
    WinForms Controls SpreadsheetControl.SelectedCell
    SpreadsheetControl.Selection
    SpreadsheetControl.VisibleRange
    SpreadsheetControl.VisibleUnfrozenRange
    WPF Controls SpreadsheetControl.SelectedCell
    SpreadsheetControl.Selection
    SpreadsheetControl.VisibleRange
    SpreadsheetControl.VisibleUnfrozenRange
    Office File API AfterDropRangeEventArgs.SourceRange
    AfterDropRangeEventArgs.TargetRange
    AfterFillRangeEventArgs.SourceRange
    AfterFillRangeEventArgs.TargetRange
    ArrayFormula.Range
    AutoFilterBase.Range
    BeforeDragRangeEventArgs.Range
    BeforeDropRangeEventArgs.SourceRange
    BeforeDropRangeEventArgs.TargetRange
    BeforeFillRangeEventArgs.SourceRange
    BeforeFillRangeEventArgs.TargetRange
    Cell.GetArrayFormulaRange()
    Cell.GetDynamicArrayFormulaRange()
    CellRange.CurrentRegion
    CellRange.Exclude(CellRange)
    CellRange.GetMinimumCover()
    CellRange.GetRangeWithAbsoluteReference()
    CellRange.GetRangeWithRelativeReference()
    CellRange.Intersect(CellRange)
    CellRange.Offset(Int32, Int32)
    CellRange.Resize(Int32, Int32)
    CellRange.Union(CellRange)
    ChartData.RangeValue
    ChartObject.GetDataRange()
    ChartText.Range
    ConditionalFormatting.Range
    CopiedRangePastedEventArgs.SourceRange
    CopiedRangePastedEventArgs.TargetRange
    CopiedRangePastingEventArgs.TargetRange
    CustomCellInplaceEditor.Range
    DataLabelCollection.Range
    DataSelectorFormControl.SourceRange
    DataTableExporter.Range
    DataValidation.Range
    DefinedName.Range
    DynamicArrayFormula.Range
    Hyperlink.Range
    HyperlinkClickEventArgs.TargetRange
    IgnoredError.Range
    IRangeProvider.FromLTRB(Int32, Int32, Int32, Int32)
    IRangeProvider.Item[String]
    IRangeProvider.Parse(String, ReferenceStyle)
    IRangeProvider.Parse(String)
    IRangeProvider.Union(CellRange[])
    IRangeProvider.Union(IEnumerable<CellRange>)
    LinkedCellFormControl.LinkedCell
    PanesFrozenEventArgs.TopLeft
    ParameterValue.RangeValue
    PivotCache.SourceRange
    PivotLocation.ColumnRange
    PivotLocation.DataRange
    PivotLocation.PageRange
    PivotLocation.Range
    PivotLocation.RowRange
    PivotLocation.WholeRange
    ProtectedRange.Range
    RangeCopyingEventArgs.Range
    Sparkline.DataRange
    Sparkline.Position
    SparklineGroup.DateRange
    SparklineGroup.Position
    Table.DataRange
    Table.HeaderRowRange
    Table.Range
    Table.TotalRowRange
    TableColumn.DataRange
    TableColumn.Range
    TableColumn.Total
    ValueObject.RangeValue
    VisibleRangeChangedEventArgs.Range
    VisibleRangeChangedEventArgs.UnfrozenRange
    Worksheet.GetDataRange()
    Worksheet.GetPrintableRange()
    Worksheet.GetPrintableRange(Boolean)
    Worksheet.GetUsedRange()
    Worksheet.Item[String]
    Worksheet.SelectedCell
    Worksheet.Selection
    WorksheetDataBinding.Range
    WorksheetPrintTitleOptions.Columns
    WorksheetPrintTitleOptions.Rows

    #Remarks

    The CellRange interface provides the basic functionality to work with worksheet cells, cell ranges and rows and columns. Refer to the Cells and Formatting Cells sections for examples on how to manage data in cells and change cell appearance.

    #Example

    This example demonstrates how to access ranges of cells in a worksheet. There are several ways to accomplish this.

    View Example

    // A range that includes cells from the top left cell (A1) to the bottom right cell (B5).
    CellRange rangeA1B5 = worksheet["A1:B5"];
    
    // A rectangular range that includes cells from the top left cell (C5) to the bottom right cell (E7).
    CellRange rangeC5E7 = worksheet["C5:E7"];
    
    // The C4:E7 cell range located in the "Sheet3" worksheet.
    CellRange rangeSheet3C4E7 = workbook.Range["Sheet3!C4:E7"];
    
    // A range that contains a single cell (E7).
    CellRange rangeE7 = worksheet["E7"];
    
    // A range that includes the entire column A.
    CellRange rangeColumnA = worksheet["A:A"];
    
    // A range that includes the entire row 5.
    CellRange rangeRow5 = worksheet["5:5"];
    
    // A minimal rectangular range that includes all listed cells: C6, D9 and E7.
    CellRange rangeC6D9E7 = worksheet.Range.Parse("C6:D9:E7");
    
    // A rectangular range whose left column index is 0, top row index is 0, 
    // right column index is 3 and bottom row index is 2. This is the A1:D3 cell range.
    CellRange rangeA1D3 = worksheet.Range.FromLTRB(0, 0, 3, 2);
    
    // A range that includes the intersection of two ranges: C5:E10 and E9:G13. 
    // This is the E9:E10 cell range.
    CellRange rangeE9E10 = worksheet["C5:E10 E9:G13"];
    
    // Create a defined name for the D20:G23 cell range.
    worksheet.DefinedNames.Add("MyNamedRange", "Sheet1!$D$20:$G$23");
    // Access a range by its defined name.
    CellRange rangeD20G23 = worksheet["MyNamedRange"];
    CellRange rangeA1D4 = worksheet["A1:D4"];
    CellRange rangeD5E7 = worksheet["D5:E7"];
    CellRange rangeRow11 = worksheet["11:11"];
    CellRange rangeF7 = worksheet["F7"];
    
    // Create a complex range using the Range.Union method.
    CellRange complexRange1 = worksheet["A7:A9"].Union(rangeD5E7);
    
    // Create a complex range using the IRangeProvider.Union method.
    CellRange complexRange2 = worksheet.Range.Union(new CellRange[] { rangeRow11, rangeA1D4, rangeF7 });
    
    // Fill the ranges with different colors.
    complexRange1.FillColor = myColor1;
    complexRange2.FillColor = myColor2;
    
    // Use the Areas property to get access to a component of a complex range.
    complexRange2.Areas[2].FillColor = Color.Beige;
    
    See Also