Registriert seit: 01.04.2017
Version(en): 2010
Guten Abend ihr Lieben, ich bin leider weder bei Google, noch hier über die Suchfunktion fündig geworden...Zum Teil aber vielleicht auch, da ich nicht wusste, wie man das Problem am besten formuliert. Deshalb hier mit Bildern ;) Ich habe eine Teilnehmerliste, in der an einem Tag mehrere "Lektionen" stattfinden. Jeder Teilnehmer kommt am gleichen Tag aber zu einer verschiedenen Uhrzeit. Ich würde nun natürlich gern in Vorbereitung auf die Veranstaltung alle Teilnehmer nach Uhrzeit "stufenweise" und auch nach Alphabet sortieren. Klingt eigentlich total simpel, aber macht mich grad bekloppt ^^ Zur Not muss ich per Filter Funktion nacheinander die Uhrzeiten rausfiltern und ausdrucken, ist aber nicht das Gelbe vom Ei... Ausgangssituation:
Gewünschtes Ergebnis:
Liebe Grüße, moni
Registriert seit: 10.04.2014
Version(en): Microsoft 365, mtl. Kanal
02.04.2017, 00:30
(Dieser Beitrag wurde zuletzt bearbeitet: 02.04.2017, 00:30 von WillWissen.)
Hi Moni, Daten==> Sortieren [ Bild bitte so als Datei hochladen: Klick mich!] Ankreuzen, dass deine Tabelle Überschriften enthält, danach die Sortierreihenfolge (jeweils mit "Ebene hinzufügen") auswählen und mit OK betätigen. Dann sieht's so aus: [ Bild bitte so als Datei hochladen: Klick mich!] Falls du VBA verwenden darfst, kannst du den Vorgang einmalig mit dem Makrorekorder aufzeichnen und das Makro einer Schaltfläche zuweisen. Dann geht dein Sortieren mit einem einzigen Knopfdruck.
Gruß Günter Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen. angebl. von Georg Christoph Lichtenberg (1742-1799)
Folgende(r) 1 Nutzer sagt Danke an WillWissen für diesen Beitrag:1 Nutzer sagt Danke an WillWissen für diesen Beitrag 28
• Moni
Registriert seit: 14.04.2014
Version(en): 2003, 2007
02.04.2017, 00:34
(Dieser Beitrag wurde zuletzt bearbeitet: 02.04.2017, 00:36 von atilla.)
Hallo, -alles markieren -sortieren aufrufen -Benutzerdefiniertes sortieren wählen -Rechts Haken bei "Daten haben Überschrift" -bei sortieren nach "11 Uhr" wählen -oben "Ebene hinzufügen" -danach nach "12 Uhr" wählen usw. Am Ende mit Ok bestätigen [ Bild bitte so als Datei hochladen: Klick mich!] oder diesen Code ausführen: Code: Sub sortieren()
Dim lngZ As Long
With ActiveWorkbook.Worksheets("Tabelle1") lngZ = .Cells(.Rows.Count, 1).End(xlUp).Row With .Sort .SortFields.Clear .SortFields.Add Key:=Range("B1:B" & lngZ), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal .SortFields.Add Key:=Range("C1:C" & lngZ), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal .SortFields.Add Key:=Range("D1:D" & lngZ), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal .SortFields.Add Key:=Range("D1:D" & lngZ), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal .SetRange Range("A1:E" & lngZ) .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With End With End Sub
Ok, Günter war schneller. Aber doppelt gehoppelt hält besser.
Gruß Atilla
Folgende(r) 1 Nutzer sagt Danke an atilla für diesen Beitrag:1 Nutzer sagt Danke an atilla für diesen Beitrag 28
• Moni
Registriert seit: 10.04.2014
Version(en): Microsoft 365, mtl. Kanal
Hi Moni, was sowohl Atilla als auch ich übersehen haben, ist, dass du auch die Namen alphabethisch sortiert haben willst. Dann musst du einfach als z.B. erste Ebene "sortieren nach Name" ankreuzen. [ Bild bitte so als Datei hochladen: Klick mich!] Atillas Makro muss dann noch so angepasst werden: Code: Sub sortieren()
Dim lngZ As Long
With ActiveWorkbook.Worksheets("Tabelle1") lngZ = .Cells(.Rows.Count, 1).End(xlUp).Row With .Sort .SortFields.Clear .SortFields.Add Key:=Range("A1:A" & lngZ), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal .SortFields.Add Key:=Range("B1:B" & lngZ), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal .SortFields.Add Key:=Range("C1:C" & lngZ), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal .SortFields.Add Key:=Range("D1:D" & lngZ), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal .SortFields.Add Key:=Range("D1:D" & lngZ), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal .SetRange Range("A1:E" & lngZ) .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With End With End Sub
Gruß Günter Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen. angebl. von Georg Christoph Lichtenberg (1742-1799)
Folgende(r) 1 Nutzer sagt Danke an WillWissen für diesen Beitrag:1 Nutzer sagt Danke an WillWissen für diesen Beitrag 28
• Moni
Registriert seit: 01.04.2017
Version(en): 2010
Oooh das ging fix, vielen lieben Dank Euch!! Hat alles geklappt! Ich war zwar schon in der einigermaßen richtigen Richtung unterwegs, habe aber nicht weit genug "reingeklickt"... Dankeee und ein tolles Restwochenende!
Registriert seit: 28.05.2014
Version(en): 2013 / 2016
Moin, als Alternative bietet sich (ab Excel 2010) auch Power Query (ja, mein neues Lieblings-Spielzeug ) an. Nach dem laden in den Editor von rechts nach links jede Spalte aufsteigend sortieren. Und bei geänderter Datenquelle einfach (nur) auf Aktualisieren klicken. Weiterer Vorteil: Du kannst für die 4 Zeit-Blöcke ruck zuck einzelne Tabellenblätter erstellen und dann ausdrucken lassen.
Beste Grüße Günther
Excel-ist-sexy.de …schau doch mal rein! Der Sicherheit meiner Daten wegen lade ich keine *.xlsm bzw. *.xlsb- Files mehr herunter! -> So geht's ohne!
|