Есть множество вещей, которые вы можете сделать с этим, но я думаю, что вы можете освоить это. Он жестко запрограммирован для сканирования первого столбца и вывода во второй - вы можете явно его параметризировать.
Sub concat()
' loop on first column but this could be an input
Dim max_rows As Integer
Dim start_col As Integer ' The column where your data is
start_col = 1
max_rows = ActiveSheet.UsedRange.Rows.Count ' count how many times to loop
Dim counter As Integer
counter = 1 ' this is for the output to know when we wrote out something we increment to next cell
Dim temp_string As String
temp_string = "" ' variable to store until write out
For i = 1 To max_rows:
Cells(i, 1).Select
temp_string = temp_string + " " + ActiveCell.Value
If Selection.Borders(xlEdgeBottom).LineStyle = 1 Then
out = temp_string
Cells(counter, 2) = out
counter = counter + 1
temp_string = ""
End If
Next i
End Sub