Я думаю, что ваша проблема больше подходит для использования фильтров Excel, чем VBA. Но если вы действительно хотите использовать VBA, приведенный ниже код выполняет то, что вы описываете, и, возможно, вы можете использовать его в качестве отправной точки для достижения своей цели.
. Все операторы .select должны быть удалены. Они просто есть, так что вы можете узнать, что делает код, когда вы шагаете по нему, как в анимированном GIF, который показывает, как работает код. Затем в конце правой кнопкой мыши скрытые строки используются для их отображения.
Option Explicit
Sub groupAndHideRows()
Dim sh As Worksheet, r As Range
Set sh = ActiveSheet
'group rows
Set r = sh.Range("A1")
While r <> ""
sh.Rows(r.Row).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
r.Select
r.Offset(-1, 0) = Left(r, 5)
While Left(r, 5) = Left(r.Offset(1, 0), 5)
Set r = r.Offset(1, 0)
r.Select
Wend
Set r = r.Offset(1, 0)
Wend
'hide rows
Set r = sh.Range("A1")
While r <> ""
r.Select
If Not IsNumeric(r) Then sh.Rows(r.Row).EntireRow.Hidden = True
Set r = r.Offset(1, 0)
Wend
End Sub