Try this code on 1 worksheetIf its working fine, i can help you in making it work for other worksheets too. Also, please put some text in the row after the last row of data so that the macro will group that set of data as well. Once you test it, you will realise that the last set of rows are not being grouped. Once you put some text such as "End" it should work.![]()
Option Explicit Sub create_groups() Dim lrow As Long, i As Long, startrange As Long, endrange As Long Application.ScreenUpdating = False With Worksheets("Sheet1") lrow = .Range("A" & .Rows.Count).End(xlUp).Row For i = 2 To lrow If .Range("A" & i).Value = "" And .Range("A" & i - 1).Value <> "" Then startrange = i ElseIf .Range("A" & i).Value = "" And .Range("A" & i + 1).Value = "" Then endrange = i + 1 ElseIf .Range("A" & i).Value = "" And .Range("A" & i + 1).Value <> "" Then endrange = i .Rows(startrange & ":" & endrange).Group End If Next i End With Application.ScreenUpdating = True End Sub
Bookmarks