Давайте предположим, что ваш источник данных находится в столбце А из Лист1 :
Сначала поместите заголовки столбцов в Sheet2
Затем запустите этот короткий макрос:
Sub DataReOrganizer() Dim s1 As Worksheet, s2 As Worksheet Dim N As Long, i As Long, K As Long, v As String Set s1 = Sheets("Sheet1") Set s2 = Sheets("Sheet2") N = s1.Cells(Rows.Count, "A").End(xlUp).Row K = 2 For i = 1 To N v = s1.Cells(i, "A").Text If v = "endmarker" Then K = K + 1 Else ary = Split(v, ": ") MsgBox ary(1) If ary(0) = "myval" Then s2.Cells(K, 1) = ary(1) If ary(0) = "mydate" Then s2.Cells(K, 2) = Chr(39) & ary(1) If ary(0) = "myname" Then s2.Cells(K, 3) = ary(1) If ary(0) = "mynum" Then s2.Cells(K, 4) = ary(1) End If Next i End Sub
произвести это в Sheet2 :
Chr (39) используется для сохранения вашего формата даты и предотвратить Excel от изменения его в то время.