Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1388to1392
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

Zeilen vertikal sortieren und begrenzen

Zeilen vertikal sortieren und begrenzen
22.10.2014 18:20:26
Paul-Werner
Hallo Gurus,
ich brauch einmal mehr Eure Hilfe.
Ich habe eine Excel-Datei vorliegen mit über 300.000 Einträgen. Diese Einträge müssen wie folgt sortiert werden:
Die horizontale Kopfzeile muss pro nachfolgende Zeile einmal in die Spalte A sortiert werden. In die Spalte B kommt dann jeweils der Wert, welcher unter dem Eintrag in der Zeile A steht. Hat dieser Eintrag mehr als 72 Buchstaben, muss er aufgeteilt werden auf die folgenden Spalten.
Ein Beispiel, wie meine jetzige Liste aussieht, ist in der geladenen Datei in der Tabelle 1 zu sehen. In Tabelle 2 stehen ein paar Einträge, wie sie nach der Konventierung aussehen sollen.
https://www.herber.de/bbs/user/93296.xlsx
Ich bedanke mich jetzt bereits, viel Erfolg
Paul

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeilen vertikal sortieren und begrenzen
22.10.2014 19:03:59
Daniel
Hi
teste mal das:
Sub umformen()
Dim anzZe As Long
Dim anzSp As Long
Dim shQ As Worksheet
Dim shZ As Worksheet
Dim i As Long
Dim arrSpalten(100)
Set shQ = Sheets(1) 'Quelltabelle
Set shZ = Sheets(3) 'Zieltabelle
With shQ.Cells(1, 1).CurrentRegion
anzZe = .Rows.Count - 1
anzSp = .Columns.Count - 1
End With
For i = 0 To UBound(arrSpalten)
arrSpalten(i) = Array(i * 72, 4)
Next
shZ.Cells.Clear
With shZ.Cells(1, 1).Resize(anzZe * anzSp, 2)
.Columns(1).FormulaR1C1 = _
"=Index('" & shQ.Name & "'!R1,1,Mod(row()-1," & anzSp & ")+1)"
.Columns(2).FormulaR1C1 = _
"=Index('" & shQ.Name & "'!C1:C" & anzSp & ",INT((ROW()-1)/" & _
anzSp & ")+2,Mod(row()-1," & anzSp & ")+1)"
.Copy
.PasteSpecial xlPasteValues
shQ.Cells(1, 1).Resize(2, anzSp).Copy
.PasteSpecial xlPasteFormats, Transpose:=True
.Columns(2).TextToColumns Destination:=Range("B1"), _
DataType:=xlFixedWidth, _
FieldInfo:=arrSpalten, _
DecimalSeparator:=","
.Columns(2).Copy
.Columns(2).Resize(, .CurrentRegion.Columns.Count - 1).PasteSpecial xlPasteFormats
.Columns(1).EntireColumn.AutoFit
End With
End Sub
Gruß Daniel
Anzeige

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige