Vamos supor que seus dados de origem estão na coluna A de Folha1 :
PrimeirocoloqueoscabeçalhosdascolunasemFolha2
Emseguida,executeestamacrocurta:
SubDataReOrganizer()Dims1AsWorksheet,s2AsWorksheetDimNAsLong,iAsLong,KAsLong,vAsStringSets1=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
para produzir isso em Folha2 :
O Chr (39) é usado para preservar seu formato de data e impedir que o Excel o altere em um momento.