Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1476to1480
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

Bestimmte Zeilen sortieren

Bestimmte Zeilen sortieren
23.02.2016 10:53:43
Hennig
Hallo zusammen,
ich habe eine Liste in der die Krankentage der Mitarbeiter aufgelistet sind.
Für jeden eingetragenen Zeitraum wird eine neue Zeile erstellt. Leider schafft die SAP Auswertung es nicht die Zeiträume für den Mitarbeiter chronologisch anzuzeigen.
Daher bin ich auf der Suche nach einer Möglichkeit in Excel.
In dem angehängten Beispiel müssten also für den Mitarbeiter mit der Personalnummer 13, die Zeilen 21 bis 24 nach Beginn sortiert werden.
Problem dabei ist, das verschiedene Mitarbeiter auch verschieden oft krank sind, sonst hätte ich ja mit dem Macrorecorder was erstellen können.
Hat jemand eine Idee wie ich Excel prüfen lassen kann wie viele Zeilen er für den Mitarbeiter sortieren lassen muss?
PS. Ist ein gekürztes Beispiel
Vielen Dank im Voraus
Sascha
https://www.herber.de/bbs/user/103801.zip

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bestimmte Zeilen sortieren
23.02.2016 11:13:28
selli
hallo sascha,
in deiner tabelle sind die von dir angesprochenen zeilen doch sortiert.
davon abgesehen kannst du ganz einfach den bereich markieren und unter "Daten" und "sortieren" eben diesen bereich sortieren lassen.
gruß
selli

AW: Bestimmte Zeilen sortieren
23.02.2016 11:20:30
Rudi
Hallo,
1. Teilergebnisse entfernen
2. alle leeren Zellen in D die komplette Zeile löschen
3. die leeren Zellen in A mit der PersNr ergänzen
4. A kopieren und durch Werte ersetzen
5. nach A und D sortieren.
Als Code:
Sub aaa()
Range("A1").RemoveSubtotal
Columns(4).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
Range(Cells(2, 4), Cells(Rows.Count, 4).End(xlUp)).Offset(, -3).SpecialCells(xlCellTypeBlanks) _
.FormulaR1C1 = "=R[-1]c"
With Columns(1)
.Copy
.PasteSpecial xlPasteValues
End With
Range("a1").Sort key1:=Range("A2"), order1:=xlAscending, key2:=Range("D2"), order2:= _
xlAscending, Header:=xlYes
End Sub
Gruß
Rudi

Anzeige
AW: Bestimmte Zeilen sortieren
23.02.2016 16:47:33
Hennig
Vielen Dank für eure Rückmeldungen.
Selbstverständlich kann man die einzelnen Bereiche einzeln sortieren. Allerdings handelt es sich hier nur um einen kleinen Auszug der Liste. Die Originalliste ist um ein vielfaches größer.
@Rudi: Die Teilergebnisse sind leider auch wichtig und ich müsste die Tabelle in dem Format lassen, wie sie nun gerade aussieht. Am Besten wäre ein Makro das lediglich Mitarbeiter mit mehr als einen Eintrag entsprechend sortiert. Sprich: A4:L5, A7:L8, A16:L17, A21:L24
Übrigens ist das XYZ in Spalte B nur ein Platzhalter. Da stehen sonst entsprechend die Namen der Mitarbeiter. Personalnummer 1 = Müller Personalnummer 5 = Meier usw.
Kann man so etwas realisieren?

Anzeige
dann aus Rudis Vorschlag
23.02.2016 19:46:44
Michael
Hi zusammen,
das scheint hinzuhauen:
Sub aaa()
Dim leer As Range
Dim aktZ&, letZ&
letZ = 1
For Each leer In Columns(4).SpecialCells(xlCellTypeBlanks)
aktZ = leer.Row
MsgBox "aktuelle Zeile " & aktZ & " letzte Zeile " & letZ
If aktZ - letZ > 2 Then
MsgBox "Sortieren Zeilen " & aktZ - 1 & " bis " & letZ + 1
Range("D" & aktZ - 1 & ":L" & letZ + 1).Sort key1:=Range("D" & letZ + 1)
End If
letZ = aktZ
Next
End Sub
Die msgboxen kannst Du ja dann rauswerfen, wenn es funktioniert.
Schöne Grüße,
Michael

Anzeige
AW: dann aus Rudis Vorschlag
24.02.2016 07:37:50
Hennig
Vielen Dank Michael, das ist genau das was ich gebraucht habe :)
Grüße,
Sascha

mit vereinter Hilfe... Danke f.d. Rückmeldung,
24.02.2016 15:17:17
Michael
Sascha,
und schöne Grüße zurück,
Michael

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige