Ich habe eine Eingabedatei in Excel gegeben, die nur Spalte "M2" nach unten geht. Legen Sie die Eingabedatei sieht wie folgt aus:Excel-Daten splitten/zuweisen
ru_utime 0.060
ru_stime 0.140
ru_maxrss 0
ru_ixrss 0
ru_ismrss 0
ru_idrss 0
ru_isrss 0
ru_minflt 4124
ru_majflt 0
ru_nswap 0
ru_inblock 0
ru_oublock 0
ru_msgsnd 0
ru_msgrcv 0
ru_nsignals 0
ru_nvcsw 47174
ru_nivcsw 4347
==================================================
dann etwa 1000 mal im gleichen Format wiederholt
wie Sie sehen können, verfügt über zwei Bits an Informationen in der gleichen Spalte dann die nächste Bündel getrennt ist by === was ich tun möchte, ist die Überschrift für jedes Bit ignorieren und nehmen Sie die Informationen auf der rechten Seite und verschieben Sie sie in verschiedene Spalten untereinander.
, was ich tun möchte, um die Datei gelesen und legte alle Informationen unter wie ru_utime: 0.060 unter einer anderen Spalte accross
so dass alle Daten in „M2“ nach unten, ich will nehmen die entsprechenden Titel Informationen und bewegen sie zu wie S2, T2, U2 für jeden einzelnen dann wenn es trifft ======= tun es für den nächsten darunter. Wenn das irgendeinen Sinn ergibt, würde ich die Hilfe sehr schätzen.
Ziel ist es, die Bewegung über auf einem Klick auf eine Schaltfläche zu automatisieren, dank
hinzugefügt:
Sub incorperate()
sn = Split(Join(Application.Transpose(Sheets("sheet2").Cells(1).CurrentRegion.Columns(1)), "|"), String(62, "=") & "|")
With Sheets("sheet1").Cells(1).CurrentRegion
st = .Rows(1).Offset(.Rows.Count).Resize(UBound(sn) + 1)
End With
For j = 0 To UBound(sn)
sq = Split(sn(j), "|")
For jj = 0 To UBound(sq) - 1
st(j + 1, jj + 1) = Split(sq(jj))(UBound(Split(Trim(sq(jj)))))
Next
Next
Sheets("sheet1").Cells(Rows.Count, 1).End(xlUp).Offset(1).Resize(UBound(st), UBound(st, 2)) = st
End Sub
Ja, das leicht erreicht werden kann. Hast du schon etwas probiert? –
Ich habe gesucht, aber ich weiß nicht, wie ich etwas nach der Überschrift zu Spalte t bewegen, dann verschieben Sie alle Überschriften Informationen, bis Sie ==== dann erhöhen und wieder tun – Zenaphor
Möchten Sie es mit einem versuchen andere Methode (Es gibt viele Möglichkeiten)? Verwenden Sie '.Find' und' .FindNext', um nach "=======" zu suchen und legen Sie dann Ihre Bereiche fest, die Sie kopieren möchten. Sie können dann ein Makro verwenden, um aufzuzeichnen, wie "Kopieren" und "Passpecial - Transpose" funktioniert? Kombinieren Sie die beiden Stück Code wird Ihnen geben, was Sie wollen. Für '.Find' und' .FindNext', siehe diesen Link http://siddharthrout.wordpress.com/2011/07/14/find-and-findnext-in-excel-vba/ –