ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Grouping rows with the plus/minus icon in the first row (https://www.excelbanter.com/excel-programming/436629-grouping-rows-plus-minus-icon-first-row.html)

GoBucks[_2_]

Grouping rows with the plus/minus icon in the first row
 
I found part of my answer in another post (see below) with the code:

ActiveSheet.Outline.SummaryRow = xlAbove
ActiveSheet.Range("A2", "A10").Rows.Group

But what if I wanted to Group other rows in the same worksheet in the same
fashion. For example, I would like to also apply for range A12:A20 with A11
as the row with the +/- sign. And then to A22:A30 with A21 as the row with
the +/- sign. And so on..

Also, I am fairly new to using VB, so what would be the entire set of code
to place in the in VB editor?

Thanks!!


http://www.microsoft.com/office/comm...f-6c3c230b862e



Jacob Skaria

Grouping rows with the plus/minus icon in the first row
 
Try the below

Sub GroupRows()
Dim lngRow As Long
For lngRow = 1 To 100 Step 10
Range("A" & lngRow + 1).Resize(9).Rows.Group
Next
ActiveSheet.Outline.SummaryRow = xlAbove
ActiveSheet.Outline.ShowLevels RowLevels:=1
End Sub

If this post helps click Yes
---------------
Jacob Skaria


"GoBucks" wrote:

I found part of my answer in another post (see below) with the code:

ActiveSheet.Outline.SummaryRow = xlAbove
ActiveSheet.Range("A2", "A10").Rows.Group

But what if I wanted to Group other rows in the same worksheet in the same
fashion. For example, I would like to also apply for range A12:A20 with A11
as the row with the +/- sign. And then to A22:A30 with A21 as the row with
the +/- sign. And so on..

Also, I am fairly new to using VB, so what would be the entire set of code
to place in the in VB editor?

Thanks!!


http://www.microsoft.com/office/comm...f-6c3c230b862e



GoBucks[_2_]

Grouping rows with the plus/minus icon in the first row
 
Thank you Jacob! This worked! How about if one or more ranges that I wanted
Grouped were not the same amount of rows? For example if the first Group
contained 9 rows then the next Grouping contained 8, and the next 5.


"Jacob Skaria" wrote:

Try the below

Sub GroupRows()
Dim lngRow As Long
For lngRow = 1 To 100 Step 10
Range("A" & lngRow + 1).Resize(9).Rows.Group
Next
ActiveSheet.Outline.SummaryRow = xlAbove
ActiveSheet.Outline.ShowLevels RowLevels:=1
End Sub

If this post helps click Yes
---------------
Jacob Skaria


"GoBucks" wrote:

I found part of my answer in another post (see below) with the code:

ActiveSheet.Outline.SummaryRow = xlAbove
ActiveSheet.Range("A2", "A10").Rows.Group

But what if I wanted to Group other rows in the same worksheet in the same
fashion. For example, I would like to also apply for range A12:A20 with A11
as the row with the +/- sign. And then to A22:A30 with A21 as the row with
the +/- sign. And so on..

Also, I am fairly new to using VB, so what would be the entire set of code
to place in the in VB editor?

Thanks!!


http://www.microsoft.com/office/comm...f-6c3c230b862e



Jacob Skaria

Grouping rows with the plus/minus icon in the first row
 
There should be some condition which cause this row count to change...For
example say you have a text called 'Total'..Find that and text and adjust the
row count to suit/

If this post helps click Yes
---------------
Jacob Skaria


"GoBucks" wrote:

Thank you Jacob! This worked! How about if one or more ranges that I wanted
Grouped were not the same amount of rows? For example if the first Group
contained 9 rows then the next Grouping contained 8, and the next 5.


"Jacob Skaria" wrote:

Try the below

Sub GroupRows()
Dim lngRow As Long
For lngRow = 1 To 100 Step 10
Range("A" & lngRow + 1).Resize(9).Rows.Group
Next
ActiveSheet.Outline.SummaryRow = xlAbove
ActiveSheet.Outline.ShowLevels RowLevels:=1
End Sub

If this post helps click Yes
---------------
Jacob Skaria


"GoBucks" wrote:

I found part of my answer in another post (see below) with the code:

ActiveSheet.Outline.SummaryRow = xlAbove
ActiveSheet.Range("A2", "A10").Rows.Group

But what if I wanted to Group other rows in the same worksheet in the same
fashion. For example, I would like to also apply for range A12:A20 with A11
as the row with the +/- sign. And then to A22:A30 with A21 as the row with
the +/- sign. And so on..

Also, I am fairly new to using VB, so what would be the entire set of code
to place in the in VB editor?

Thanks!!


http://www.microsoft.com/office/comm...f-6c3c230b862e




All times are GMT +1. The time now is 09:53 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com