19.01.2023, 16:35 (Dieser Beitrag wurde zuletzt bearbeitet: 19.01.2023, 16:35 von Excelfreund92.)
Hallo zusammen,
ich habe ein kleines Sortierproblem bei einer etwas größeren Datensammlung. Dabei habe ich eine mehrere Spalten an Daten, welche jeweils in zweier-Pärchen zusammengehörig sind. Allerdings sind befinden sich mehrere Pärchen jeweils nebeneinander. Sozusagen Pärchen1: Spalte A+B; Pärchen2: Spalte C+D; usw... Dabei ist jeweils die erste der beiden Spalten ein Abstandswert mit einem entsprechenden Messwert in der zweiten Spalte, welcher in dem Programm, welches die Daten erstellt, leider durcheinander geworfen wurde (ich habe keine Ahnung warum...) Jetzt würde ich das gerne so sortieren, dass sich die Zeilen der jeweiligen Pärchen der Größe nach anordnen. Für einige kleinere Tabellen habe ich das noch von Hand gemacht. Da ich aber jetzt ca. 60 Tabellen mit je 80 Pärchen habe, würde das schnell eskalieren. Ich habe schon bisschen was probiert, bin noch auf keine effiziente Lösung gestoßen. Hat jemand eine Idee, was ich da machen könnte?
nutze eine Hilfsspalte, in die Du mit einer passenden Funktion die Werte übernimmst. Danach kannst Du dann alle zugehörigen Daten sortieren. Hier mal ein Beispiel.
Arbeitsblatt mit dem Namen 'Tabelle1'
A
B
C
D
E
F
1
anton
1
1
2
berta
2
2
3
caesar
3
3
Zelle
Formel
F1
=MAX(B1;D1)
F2
=MAX(B2;D2)
F3
=MAX(B3;D3)
Verwendete Systemkomponenten: [Windows (64-bit) NT 10.00] / MS Excel 365
20.01.2023, 09:43 (Dieser Beitrag wurde zuletzt bearbeitet: 20.01.2023, 09:47 von Excelfreund92.)
(19.01.2023, 17:13)NobX schrieb: Hallo,
bitte Beispieldatei.
Grüße NobX
Hallo NobX,
Vielen Dank für die schnelle Antwort. ja, das ist wohl das einfachste. Eine Beispieldatei habe ich mal mit angehängt.
Spalte K und L sind (ausnahmsweise mal richtig angeordnet, beim Rest sind immer einzelne Pärchen in der Reihenfolge verschoben. Und ich bin jetzt auf der Suche nach einer effizienten Möglichkeiten, diese so zu ordnen, wie bei K und L, welche der Größe nach nach Spalte K geordnet sind. Die Dateien sind im Original dabei auch noch bedeutend größer...
Viele Grüße Excelfreund
(19.01.2023, 20:30)schauan schrieb: Hallöchen,
nutze eine Hilfsspalte, in die Du mit einer passenden Funktion die Werte übernimmst. Danach kannst Du dann alle zugehörigen Daten sortieren. Hier mal ein Beispiel.
Arbeitsblatt mit dem Namen 'Tabelle1'
A
B
C
D
E
F
1
anton
1
1
2
berta
2
2
3
caesar
3
3
Zelle
Formel
F1
=MAX(B1;D1)
F2
=MAX(B2;D2)
F3
=MAX(B3;D3)
Verwendete Systemkomponenten: [Windows (64-bit) NT 10.00] / MS Excel 365
Aber wenn ich deine Erklärung richtig verstanden habe, habe ich das Problem wahrscheinlich schlecht beschrieben. In der Antwort des Vorredners habe ich mal eine Beispieldatei angehängt, welche das Problem verdeutlicht.
ich habe das Problem noch nicht ganz verstanden. Geht es nur um die Datenversciebung in Spalte K-P mit dem Nullwert?? Man könnte den Nullwert löschen, und die gelöschte Zeile nach oben verschieben. Dann sollte es wieder übereinstimmen.
Sub Sortieren() Dim loSp As Long Dim loA As Long Dim loZe As Long loSp = Cells(1, Columns.Count).End(xlToLeft).Column - 1 For loA = 1 To loSp Step 2 loZe = Cells(Rows.Count, loA).End(xlUp).Row Range(Cells(2, loA), Cells(loZe, loA + 1)).Sort key1:=Cells(2, loA), order1:=xlAscending Next End Sub
Gruß
Edgar
Meine Antworten sind freiwillig und ohne Gewähr! Über Rückmeldungen würde ich mich freuen.
21.01.2023, 09:24 (Dieser Beitrag wurde zuletzt bearbeitet: 21.01.2023, 09:25 von Excelfreund92.)
(20.01.2023, 17:08)Gast 123 schrieb: Hallo
ich habe das Problem noch nicht ganz verstanden. Geht es nur um die Datenversciebung in Spalte K-P mit dem Nullwert?? Man könnte den Nullwert löschen, und die gelöschte Zeile nach oben verschieben. Dann sollte es wieder übereinstimmen.
mfg Gast 123
Hallo,
es geht genau genommen darum, dass die Spalten mit der 0 Abstände sind und die Spalte jeweils daneben Messwerte. Die Reihenfolge der Messwerte mit den jeweiligen Abständen sind aber durcheinander (keine Ahnung, was mein Programm da macht....) Aber BoskoBiati hat das Problem scheinbar bereits sehr gut gelöst
Beste Grüße Excelfreund
Hallo BoskoBiati,
ein erster Test schaut exzellent aus. Vielen, vielen Dank, das hilft unglaublich weiter.
Beste Grüße und ein schönes Wochenende Excelfreund
(20.01.2023, 18:19)BoskoBiati schrieb: Hi,
probiere mal das:
Code:
Sub Sortieren() Dim loSp As Long Dim loA As Long Dim loZe As Long loSp = Cells(1, Columns.Count).End(xlToLeft).Column - 1 For loA = 1 To loSp Step 2 loZe = Cells(Rows.Count, loA).End(xlUp).Row Range(Cells(2, loA), Cells(loZe, loA + 1)).Sort key1:=Cells(2, loA), order1:=xlAscending Next End Sub