Forum Discussion

Sekoleyte's avatar
Sekoleyte
Iron Contributor
May 22, 2022
Solved

How to group automatically in excel

Hi all. I need your valuable help again and i am really excited for your solutions.   I am taking an export data from a programme that has Work Breakdown Structure. Then i want to create a grouped...
  • mtarler's avatar
    mtarler
    May 25, 2022

    Sekoleyte Interesting.  So I found an easier and better way to do the WBS level:

    =(SEARCH(LEFT(TRIM(B2),1),B2)-1)/2+1

    This version will NOT be affected by extra spaces at the end or in the middle 🙂

     

    I also created a macro to automatically do the grouping based on whichever column you highlight:

    Public Sub CreateGrouping() '(Optional c As Range) ', Optional UseSpaces = 0)
       Dim i, r, g As Integer
       Dim cc As Range
       If VarType(c) = vbObject Then
          Set cc = c
       Else
          Set cc = Selection
       End If
       r = Intersect(cc, ActiveSheet.UsedRange).Rows.Count 'use intersect incase they pass entire column
       For i = 1 To r
          If IsNumeric(cc.Cells(i, 1).Value2) Then
             g = cc.Cells(i, 1).Value2
             j = i + 1
             If cc.Cells(j, 1) > g Then
                Do While (cc.Cells(j + 1, 1).Value2 > g) And (j < r)
                   j = j + 1
                Loop
                Range(cc.Cells(i + 1, 1), cc.Cells(j, 1)).EntireRow.Group
             End If
          End If
       Next i
    End Sub

     

Resources