Registriert seit: 06.01.2017
Version(en): 2016
HAllo,
ich möchte jeweils Zeilen sortieren. In den Zellen befinden sich einträge wie 2A, 4B, 3C, 1D usw. Excel soll mir die Werte nach den Ziffern sortieren, also anhand der drei Zahlen möchte ich die Reihenfolge 1D, 2A, 3C, 4B erhalten. Leider erkennt das Excel bei mir nicht. Er sortiert sie zwar aber ich erkenne keine Regel dahinter.
Gibt es dafür einen Trick. Auf VBA möchte ich verzichten, wenn es geht.
Danke für eure Hilfe! sera
Registriert seit: 10.04.2014
Version(en): Microsoft 365, mtl. Kanal
Hi Sera, du hast hoffentlich nicht zuviele Zeilen. :05: Unter Daten==> Sortieren musst du "Mit bestehender Markierung fortfahren" markieren. Mit Klick auf Sortieren bekommst du das Sortiermenü zu sehen. Hier klickst du Optionen an und stellst die Markierung von Zeilen auf Spalten um. Zweimal mit OK bestätigen. Im Tabellenausschnitt siehst du das Ergebnis. [ Bild bitte so als Datei hochladen: Klick mich!] Tabelle2 | A | B | C | D | E | F | 1 | Text1 | Text2 | Text3 | Text4 | Text5 | | 2 | 9r | 8x | 1QQ | 2Trr | 6q | unsortiert | 3 | 1QQ | 2Trr | 6q | 8x | 9r | sortiert | Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8
Gruß Günter Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen. angebl. von Georg Christoph Lichtenberg (1742-1799)
Registriert seit: 06.01.2017
Version(en): 2016
06.01.2017, 12:17
(Dieser Beitrag wurde zuletzt bearbeitet: 06.01.2017, 12:17 von seraphine.)
Hallo Günther, danke für deine Erklärung. Genau so weit war ich auch schon. Nur leider sortiert er sie nicht nach der Größe. Aus der Zeile mit der Reihenfolge 2A 5B 7C 3D 4E 1F 6G sortiert er mir nach deinem Vorgehen die Zeile folgendermaßen: 2A 5C 7E 3D 4G 1F 6B Das heißt, der zerschießt mir einfach alles. Liegt es vielleicht daran, dass ich zunächst nur Zahlen in einer Zelle hatte und diese dann mit der Formel =A3&"A" hinzugefügt habe? Achja: Ich habe 254 Zeilen :22: Edit: Das Problem lag an meiner vorher angewendeten Formel, die Buchstaben einzufügen. Ich habe den Zellinhalt nun als Zahlenwert neu eingefügt. Jetzt klappt auch die Sortierung perfekt
Registriert seit: 10.04.2014
Version(en): Microsoft 365, mtl. Kanal
06.01.2017, 12:23
(Dieser Beitrag wurde zuletzt bearbeitet: 06.01.2017, 12:24 von WillWissen.)
Hi, ja, es liegt daran, dass die Werte mittels Formel zusammengefügt wurde. Da schlage ich dir zwei Wege vor, wie du das in den Griff bekommst. 1. Du kopierst alle Zellen und fügst sie an gleicher Stelle wieder als Werte ein (die Formeln sind dann weg). Dann kannst du nach der beschriebenen Methode sortieren. 2. Bei zukünftigen Aktionen fügst du Zahlen und Buchstaben neben deiner Tabelle untereinander ein, markierst jeweils die zwei zusammengehörigen Zeilen und sortierst nach der Zahlenreihe aufsteigend. Erst danach verkettest du die beiden Werte mit =Zelle&Zelle Tabelle3 | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | 1 | F1 | A2 | D3 | E4 | B5 | G6 | C7 | | A | B | C | D | E | F | G | unsortiert | 2 | | | | | | | | | 2 | 5 | 7 | 3 | 4 | 1 | 6 | | 3 | | | | | | | | | | | | | | | | | 4 | | | | | | | | | F | A | D | E | B | G | C | sortiert | 5 | | | | | | | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | | Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8
Gruß Günter Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen. angebl. von Georg Christoph Lichtenberg (1742-1799)
Registriert seit: 06.01.2017
Version(en): 2016
06.01.2017, 12:44
(Dieser Beitrag wurde zuletzt bearbeitet: 06.01.2017, 12:45 von seraphine.)
Und gehe ich jetzt richtig in der Annahme, dass ich das bei allen 253 Zeilen einzeln durchklicken muss, AUßER ich benutze ein Makro?
Registriert seit: 10.04.2014
Version(en): Microsoft 365, mtl. Kanal
Ja, so sehe ich das auch. Ich habe auch keine Möglichkeit gefunden, dein Vorhaben mit den normalen Bordmitteln nach Möglichkeit "in einem Rutsch" durchzuführen. Was mit VBA machbar ist, kann ich dir aber leider nicht sagen. VBA und ich sind noch nicht kompatibel. :32:
Gruß Günter Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen. angebl. von Georg Christoph Lichtenberg (1742-1799)
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallöchen,
sehe ich nicht ganz so. Methode 1 sollte doch in einem Rutsch funktionieren.
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
Registriert seit: 10.04.2014
Version(en): Microsoft 365, mtl. Kanal
Hi André, leider irrst du. Selbst nach Hinzufügen der einzelnen Zeilen im Sortiermenü (Ebene hinzufügen) geht es nicht. Nur die erste Zeile wird sortiert. [ Bild bitte so als Datei hochladen: Klick mich!]
Gruß Günter Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen. angebl. von Georg Christoph Lichtenberg (1742-1799)
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
07.01.2017, 10:44
(Dieser Beitrag wurde zuletzt bearbeitet: 07.01.2017, 10:45 von schauan.)
Hallöchen, da ist der Makrorekorder schon mal ein erster Ansatz, um in die Materie einzusteigen. Ich habe da mal einen Code aufgezeichnet. Code: Sub Makro1() ' ' Makro1 Makro '
' Range("A1:D1").Select ActiveWorkbook.Worksheets("Tabelle1").Sort.SortFields.Clear ActiveWorkbook.Worksheets("Tabelle1").Sort.SortFields.Add Key:=Range("A1:D1") _ , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal With ActiveWorkbook.Worksheets("Tabelle1").Sort .SetRange Range("A1:D1") .Header = xlGuess .MatchCase = False .Orientation = xlLeftToRight .SortMethod = xlPinYin .Apply End With Range("A2").Select End Sub
Allerdings betrifft das nur eine Zeile, und einen Code für jede Zeile aufzuzeichnen, wäre ja suboptimal. Da hilft dann nur eine Schleife. Das habe ich dann so umgesetzt. Ist noch etwas optimierbar, aber erst mal nahe am aufgezeichneten Code. Code: Sub Makro2() 'Variablendeklarationen 'Long Dim lRowS& 'Zeilenzaehler auf Startzeile setzen lrow = 1 'Schleife, solange in der ersten Spalte was steht. Do While Cells(lrow, 1) <> "" 'Sortiereinstellungen zuruecksetzen ActiveWorkbook.Worksheets("Tabelle1").Sort.SortFields.Clear 'neue Sortierung beginnen. Dabei Key auf Bereich mit Daten festlegen, 6 Spalten breit. ActiveWorkbook.Worksheets("Tabelle1").Sort.SortFields.Add Key:=Cells(lrow, 1).Resize(1, 6) _ , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal 'Mit der Sortierung noch bisschen was anstellen :-) With ActiveWorkbook.Worksheets("Tabelle1").Sort 'Bereich mit Daten festlegen, 6 Spalten breit .SetRange Cells(lrow, 1).Resize(1, 6) 'weitere Sortiereinstellungen .Header = xlGuess .MatchCase = False .Orientation = xlLeftToRight .SortMethod = xlPinYin 'Sortierung ausfuehren .Apply 'Ende Mit der Sortierung noch bisschen was anstellen :-) End With lrow = lrow + 1 'Ende Schleife, solange in der ersten Spalte was steht. Loop End Sub
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
|