Прошу помощи в написании макроса для парсинга иерархического списка. Есть список (один столбец), в котром в ячейки начинающиеся с буквы являются "корневыми" - содержат наименование подгруппы. Следующие ячейки начинающиеся с пробела принадлежат этой подгруппе, вплоть до следующей корневой ячейки. Задача в объединении текста из ячеек начинающихся с пробела, удалении лишних пробелов в начале и конце строки, и помещении этого списка рядом с корневой ячейкой в соседнем столбце. Для наглядности привожу фрагмент исходного списка "AsIs.xlsx" и того, что хотелось бы получить "ToBe.xlsx".
Sub Макрос_1()
Dim lr As Long, arr_1, arr_2, m As String, n As Long
With ActiveSheet
lr = .Cells(.Rows.Count, "A").End(xlUp).Row
arr_1 = .Range("A2:A" & lr)
ReDim arr_2(1 To UBound(arr_1), 1 To 1)
For n = UBound(arr_1) To 1 Step -1
If Left(arr_1(n, 1), 1) = " " Then
m = Trim(arr_1(n, 1)) & Chr(10) & m
Else
arr_2(n, 1) = Left(m, Len(m) - 1)
m = ""
End If
Next
.Range("B2").Resize(UBound(arr_2), 1) = arr_2
End With
End Sub
let f=(x)=>Text.Combine(List.Transform(List.Skip(x[Data]),Text.Trim),"#(lf)"), from = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content], to = Table.Group(from,"Data",{"sub",f},0,(s,c)=>Number.From(Text.At(c,0)<>" ")) in to