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 VSTO Add-in projects for Excel. For more information, see Features available by Office application and project type.
Use 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.this.data2001.Group();
With Me .data2001.Group() .data2002.Group() .dataAll.Group() End With
Note
To ungroup rows, call the Ungroup method.
Use 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
, anddataAll
on the same worksheet. Each named range refers to a whole row in the worksheet.this.Application.get_Range("data2001"); this.Application.get_Range("data2002") .Group(); this.Application.get_Range("dataAll") .Group();
With Me.Application .Range("data2001").Group() .Range("data2002").Group() .Range("dataAll").Group() End With
Note
To ungroup rows, call the Ungroup method.
Related content
Feedback
https://aka.ms/ContentUserFeedback.
Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see:Submit and view feedback for