Expand Minimize

NamedRange.Columns Property

Gets a Microsoft.Office.Interop.Excel.Range that represents the one or more columns in the NamedRange control.

Namespace:  Microsoft.Office.Tools.Excel
Assembly:  Microsoft.Office.Tools.Excel (in Microsoft.Office.Tools.Excel.dll)

Range Columns { get; }

Property Value

Type: Microsoft.Office.Interop.Excel.Range
A Microsoft.Office.Interop.Excel.Range that represents one or more columns in the NamedRange control.

When used without parameters, this property returns a Range object that contains all the columns in the named range.

This property can be used with the following optional parameters to get specific columns in the named range. If you use this property with parameters, the return value is an object that must be cast to a Range.

Parameter

Description

RowIndex

The index of one or more columns to get.

To get a single column, pass one of the following objects to this parameter:

  • An integer that specifies the index of the column you want to get. The column indexes begin at 1.

  • A string that consists of the letter of the column you want to get.

To get multiple contiguous columns, pass a string with the format "first column letter:last column letter". For example, to get columns A through E, pass "A:E".

NoteNote

The name of this parameter is misleading; this parameter specifies the indexes of the columns you want to get, not the rows.

ColumnIndex

Do not use this parameter. This property will throw a COMException if you try to pass a value to this parameter.

The following code example creates a NamedRange and then uses the Columns property to set the color, name, size, and boldness of the font of all the cells in the first column of the range.

This example is for a document-level customization. To run this code, copy it into one of the worksheet classes in your project.

private void SetFirstColumnFont()
{
    Microsoft.Office.Tools.Excel.NamedRange testRange = 
        this.Controls.AddNamedRange(this.Range["A1", "J10"],
        "TestRange");
    testRange.Select();

    Excel.Range fillColumn = (Excel.Range)testRange.Columns["A"];
    Excel.Font columnsFont = fillColumn.Font;

    // Set the font color to blue (RGB value 00 00 FF), and set other font properties.
    columnsFont.Color = 0xFF0000;
    columnsFont.Name = "Arial";
    columnsFont.Size = 14;
    columnsFont.Bold = false;

    // Test the changes by writing a value to all the column cells.
    fillColumn.Value2 = "This is a test";
}

The following code example creates a NamedRange and then uses the Columns property to determine how many columns there are in the range.

This example is for a document-level customization. To run this code, copy it into one of the worksheet classes in your project.

Microsoft.Office.Tools.Excel.NamedRange compositeRange;
private void DisplayRangeComposition()
{
    compositeRange = this.Controls.AddNamedRange(
        this.Range["B2", "E5"], "compositeRange");
    compositeRange.Cells.Interior.Color = 0xFF00;
    MessageBox.Show("The range has " + compositeRange.Count + 
        " cells.");
    MessageBox.Show("The range has " + 
        compositeRange.Columns.Count + " columns.");
    MessageBox.Show("The range has " + 
        compositeRange.Rows.Count + " rows.");
}

Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2014 Microsoft