This should do
Sub test()
Dim x, i As Long
With Range("a2", Range("a" & Rows.Count).End(xlUp))
x = Filter(Evaluate("transpose(if(isnumber(left(" & .Address & ",1)+0)," & _
"row(1:" & .Rows.Count & "),char(2)))"), Chr(2), 0)
If UBound(x) > -1 Then
x = Split(Join(x, ",") & "," & .Rows.Count + 1, ",")
For i = 0 To UBound(x) - 1
With .Rows(x(i) & ":" & x(i + 1) - 1)
.Cells(1).Copy .Cells(1, 3).Resize(, 2)
If .Rows.Count > 1 Then
.Cells(1, 3).Value = Join(Application.Transpose(.Value), vbLf)
.Copy
.Cells(1, 4).PasteSpecial Transpose:=True
End If
End With
Next
End If
End With
End Sub
Bookmarks