How to: Programmatically Group Rows in a Worksheet
You can group one or more whole rows. To create a group in a worksheet, use a NamedRange control or a native Excel range object.
Applies to: The information in this topic applies to document-level projects and application-level projects for Excel 2013 and Excel 2010. For more information, see Features Available by Office Application and Project Type.
Using a NamedRange Control
If you add a NamedRange control to a document-level project at design time, you can use the control to programmatically create a group. The following example assumes that there are three NamedRange controls on the same worksheet: data2001, data2002, and dataAll. Each named range refers to a whole row in the worksheet.
To create a group of NamedRange controls on a worksheet
Group three named ranges by calling the Group method of each range. This code must be placed in a sheet class, not in the ThisWorkbook class.
With Me .data2001.Group() .data2002.Group() .dataAll.Group() End With
this.data2001.Group();
Note
To ungroup rows, call the Ungroup method.
Using Native Excel Ranges
The code assumes that you have three Excel ranges named data2001, data2002, and dataAll on a worksheet.
To create a group of Excel ranges in a worksheet
Group three named ranges by calling the Group method of each range. The following example assumes that there are three Range controls named data2001, data2002, and dataAll on the same worksheet. Each named range refers to a whole row in the worksheet.
With Me.Application .Range("data2001").Group() .Range("data2002").Group() .Range("dataAll").Group() End With
this.Application.get_Range("data2001"); this.Application.get_Range("data2002") .Group(); this.Application.get_Range("dataAll") .Group();
Note
To ungroup rows, call the Ungroup method.
See Also
Tasks
How to: Add NamedRange Controls to Worksheets