Hallo Zusammen!
Ein Programm hat mir eine .csv-Datei erstellt, in der Daten zusammengefasst wurden.
Leider hat dieses Programm alle Datensätze untereinander geschrieben. Ich würde sie gerne in Excel so aufbereiten, dass die Datensätze nebeneinander in Spalten stehen. Gibt es dafür eine Automation?
Jeder Datensatz ist 46 Zeilen lang und beginnt und endet in Spalte A (Titel) immer mit dem selben Wert.
Da es sich um mehr als 2500 Zeilen handelt, möchte ich die Daten ungerne händisch mittels strg+x und strg+v bearbeiten.
Kann mir jemand einen Tipp geben?
Gruß
Marcus
Leider hat dieses Programm alle Datensätze untereinander
geschrieben. Ich würde sie gerne in Excel so aufbereiten, dass
die Datensätze nebeneinander in Spalten stehen. Gibt es dafür
eine Automation?
Jeder Datensatz ist 46 Zeilen lang und beginnt und endet in
Spalte A (Titel) immer mit dem selben Wert.
Da es sich um mehr als 2500 Zeilen handelt, möchte ich die
Daten ungerne händisch mittels strg+x und strg+v bearbeiten.
Hi Marcus,
da ich in Eile bin, völlig ungetestet, berichte mal was passiert…
Sub tt()
Dim Zei As Long, Pos As Long
Zei = -45
While Cells(Zei + 46, 1) ""
Pos = Pos + 1
Zei = Zei + 46
Range(Cells(Zei + 1, 1), Cells(Zei + 45, 1)).Copy
Cells(Pos, 2).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=True
Wend
Application.CutCopyMode = False
End Sub
Gruß
Reinhard
Hallo Reinhard,
vielen Dank!
Das Script hat die untereinander stehenden Datensätze in der ersten Spalte zu 45 auf die Spalten A-AT verteilt.
Wenn es dir keine große Mühe macht, perfekt wäre es für mich, wenn jeweils 46 Zeilen ab Zeile 47 auf die Spalte C ff verteilt würde. Sollte das ein großer Aufwand sein, bin ich mit dem jetzigen Ergebnis völlig zufrieden.
Die Daten in dieser Tabelle sind nicht geheim, wenn du möchtest, kann ich sie dir gerne auch schicken.
Gruß
Marcus
Hi Marcus,
Das Script hat die untereinander stehenden Datensätze in der
ersten Spalte zu 45 auf die Spalten A-AT verteilt.
ja, Spalte A wurde nicht verändeert, weiß grad nicht Bug oder Feature *gg*
Wenn es dir keine große Mühe macht, perfekt wäre es für mich,
wenn jeweils 46 Zeilen ab Zeile 47 auf die Spalte C ff
verteilt würde. Sollte das ein großer Aufwand sein, bin ich
mit dem jetzigen Ergebnis völlig zufrieden.
Die Daten in dieser Tabelle sind nicht geheim, wenn du
möchtest, kann ich sie dir gerne auch schicken.
Ach, zuschicken ist nicht nötig und auch nicht dieses Forums, wegen Archiv uvm.
Angenommen, in Spalte A stehen die Zahlen 1 bis x, wie soll denn dann die entstehende Tabelle aussehen, so:
(Bitte den Pre-Tag benutzen m die tabellenformation zu erhalten.)
A B C D F ... AT
1 1 2 3 4 46
2 47 48 49 50 92
3 93 94 95 96 138
4 139 140 141 142 184
...
Gruß
Reinhard
Hallo Reinhard,
Spalte A (Überschriftenspalte) kann man auch vernachlässigen, sofern die Daten so wie hier aufbereitet wären, könnte ich sie einfach dort hinein kopieren.
Perfekt wäre so:
A B C ... AT
1 1 47 93
2 2 48 94
3 3 49 95
...
46 46 92 138
Viele Grüße
Marcus
Hi Markus,
meinst du so:
Sub tt()
Dim Zei As Long, Spa As Integer
Zei = 1
Spa = 1
While Cells(Zei, 1) ""
Spa = Spa + 1
Range(Cells(Zei, 1), Cells(Zei + 46, 1)).Copy Destination:=Cells(1, Spa)
Zei = Zei + 46
Wend
End Sub
Gruß
Reinhard
1 „Gefällt mir“
Genau so! Vielen Dank!
owt