Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1892to1896
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Werte transponieren und neue Zeile

Werte transponieren und neue Zeile
16.08.2022 13:20:03
Alex
Hallo,
ich habe eine Liste mit x-tausenden Werten. Die Werte stehen untereinander weg in der Spalte A.
Ich möchte diese Daten nun transponieren, so dass diese in den Spalten stehen, allerdings soll alle 20 Werte eine neue Zeile begonnen werden.
Hat jemand hier zufällig ein VBA-Script parat?
Grüße Alex

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

Betreff
Datum
Anwender
Anzeige
AW: Werte transponieren und neue Zeile
16.08.2022 14:23:57
Oberschlumpf
Hi Alex
hast du vielleicht zufällig per Upload eine Bsp-Datei mit ausreichend vielen Bsp-Datenzeilen parat?
Ciao
Thorsten
AW: Werte transponieren und neue Zeile
16.08.2022 15:00:56
Oberschlumpf
hier. probier ma
https://www.herber.de/bbs/user/154670.xlsm
noch musst du nach Ende des Makros Spalte A per Hand löschen.
Ich hab Spalte A noch nicht per Makro gelöscht, damit du überprüfen kannst.
Wenns passt, kannst du ja ins Makro einbauen, dass Spalte A gelöscht werden soll.
Hilfts?
Anzeige
AW: Werte transponieren und neue Zeile
17.08.2022 07:09:20
Alex
Das geht schon, aber ich habe eine Lösung gesucht, wie sie Rudi geliefert hat. Das funktioniert schneller.
Aber danke auch dir.
AW: Werte transponieren und neue Zeile
16.08.2022 14:32:25
Rudi
Hallo,

allerdings soll alle 20 Werte eine neue Zeile begonnen werden.
meinst du nicht Spalte?
B1:=INDEX($A:$A;(SPALTE()-2)*20+ZEILE())
und nach unten und rechts kopieren.
Anschließend in Werte umwandeln und A löschen.
Gruß
Rudi
AW: Werte transponieren und neue Zeile
16.08.2022 14:36:26
Alex
Nein, ich meine die Zeile und ich brauche es als VBA, damit ich es weiter anpassen und flexibler gestalten kann.
jetzt verstanden
16.08.2022 14:47:21
Rudi
Hallo,

Sub Trans()
Dim arrIN, arrOUT()
Dim i As Long, j As Long, n As Long
arrIN = Range(Cells(1, 1), Cells(Rows.Count, 1).End(xlUp))
ReDim arrOUT(1 To UBound(arrIN) / 20 + 1, 1 To 20)
n = 1
For i = 1 To UBound(arrIN)
j = j + 1
If j = 21 Then
j = 1
n = n + 1
End If
arrOUT(n, j) = arrIN(i, 1)
Next i
Worksheets.Add.Cells(1, 1).Resize(n, 20) = arrOUT
End Sub
Gruß
Rudi
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige