Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Transportieren

Forumthread: Transportieren

Transportieren
10.02.2009 16:03:56
Tom
Hallo,
habe eine ewig lange Liste (Ausschnitt anbei). https://www.herber.de/bbs/user/59313.xls
Ich möchte nun erreichen, dass alle Daten nebeneinander (ähnlich wie bei der Funktion TRANSPORTIEREN) stehen.
a) Es sind immer unterschiedlich viele Zeilen
b) Der Abstand zwischen alle "Blöcken" ist immer drei Zeilen
Kann man das mt Makro lösen?
Danke vorab
TOM
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Das tut die Bahn, transpoRTieren
10.02.2009 16:29:00
Renee
Tom,
Das soll heissen TRANSPONIEREN und funktionier so:

Sub til()
Range("A2:16384").SpecialCells(xlCellTypeConstants, 23).Copy
Range("B1").PasteSpecial Paste:=xlAll, Transpose:=True, SkipBlanks:=True
Range("A2:16384").ClearContents
End Sub


Allerdings ist bei Excel 2007 bei mehr als 16384 Einträgen Schluss!
GreetZ Renée

Anzeige
Oops ... transponieren...
10.02.2009 16:30:18
Renee
Richtig(er)?

Sub til()
Range("A2:A16384").SpecialCells(xlCellTypeConstants, 23).Copy
Range("B1").PasteSpecial Paste:=xlAll, Transpose:=True, SkipBlanks:=True
Range("A2:A16384").ClearContents
End Sub


GreetZ Renée

AW: Oops ... transponieren...
10.02.2009 16:50:00
robert
Hi Renée
ich glaube, so einfach ist es nicht- siehe beispieldatei blatt-soll
lösung hab ich aber leider keine.....
gruß
robert
Anzeige
Glaube in der Religion, robert
10.02.2009 16:58:00
Renee
...hier musst du wissen!
GreetZ Renée
AW: Oops ... transponieren...
10.02.2009 16:51:00
Tom
Hi Renee,
egal wer wohin fährt :-)
Ich hätte aber gerne die Lösung so wie in Tabellenblatt "SOLL" - d.h. jeder Datensatz wird in eine neue Zeile geschrieben ...
Vielleicht kannst Du mir nochmal helfen...
Danke
TOM
ach soo, lesen sollte frau können...
10.02.2009 17:13:50
Renee
Hi Tom,

Sub tiler()
Dim lRow As Long, lCol As Long, lRowC As Long
Application.ScreenUpdating = False
lCol = 2: lRowC = 1
For lRow = 2 To Range("A65536").End(xlUp).Row
If Cells(lRow, 1).Value  "" Then
Cells(lRowC, lCol).Value = Cells(lRow, 1).Value
Cells(lRow, 1).ClearContents
lCol = lCol + 1
If Cells(lRow + 1, 1).Value = "" Then
lCol = 1: lRowC = lRowC + 1
End If
End If
Next lRow
Application.ScreenUpdating = True
End Sub


GreetZ Renée

Anzeige
AW: ach soo, lesen sollte frau können...
10.02.2009 17:22:00
Tom
SUPER - vielen DANK
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige