Sorry, dass ich damit noch mal kommen muss: aber leider gab es bis jetzt noch keine richtige Lösung, weshalb ich das Problem noch ein Mal formuliere und mir denke, "das muss doch möglich sein"?!
Bitte schaut euch mal die hier im Forum hoch geladene Tabelle an:
https://www.herber.de/bbs/user/70776.xls
Als erstes soll aufsteigend nach Datum sortiert werden, als zweites aufsteigend nach Schicht und als drittes Kriterium aufsteigend nach Uhrzeit.
Dafür haben mir nette Forumsmitglieder bereits Makros erstellt (siehe am Ende dieses Textes).
Das Problem, weshalb diese nicht richtig funktionieren, liegt an der Formatierung der Datumsspalte. Man muss die Datumswerte markieren und dann bei dem gelben Ausrufezeichen (links an jeder Zelle) auf das Format 20XX umstellen.
Warum das so ist kann ich mir nicht erklären.
Dies manuell zu machen bringt mir nichts: da später noch Daten hinzukommen und das dann per Makro alles automatisch funktionieren soll, also das Sortieren automatisch funktionieren soll.
Ich habe schon versucht mit dem Makrorekorder aufzuzeichnen, wie ich die Zellen markiere und an dem, gelben Ausrufezeichen auf 20XX umstelle.
Das zeichnet er aber nicht auf (diese Umformatierung wird ignoriert).
Man merkt sofort, dass die jeweiligen Sortier-Makros nicht klappen. Weil das Datum nicht fortlaufend (14.01.10 15.01.10 .16.01.10) sondern in Sprüngen:(1.02.10 01.03.10 1.04.10) sortiert wird (wegen Formatierung).
Ich möchte, das in den Zellen das Format: 14.01.10 steht und oben in der Bearbeitungsleiste bzw. Zeile müsst es dann aber 14.01.2010 anzeigen, damit es auch mit dem Sortieren richtig klappt.
Makros der Mitglieder:
Sub YUSUF_2()
Columns("M:M").NumberFormat = "General"
Range("A4:U714").Sort Key1:=Range("M4"), Order1:=xlAscending, Key2:=Range("O4"), Order2:=xlAscending, Key3:=Range("N4"), Order3:=xlAscending, _
Header:=xlYes, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, DataOption1:=xlSortTextAsNumbers, DataOption2:=xlSortNormal _
, DataOption3:=xlSortTextAsNumbers
Columns("M:M").NumberFormat = "dd/mm/yy"
End Sub
Sub sortierTino()
With ActiveSheet
.Range("A4:U" & .Rows.Count).Sort _
Key1:=.Range("M4"), Order1:=xlAscending, _
Key2:=.Range("O4"), Order2:=xlAscending, _
Key3:=.Range("N4"), Order3:=xlAscending, _
Header:=xlNo, OrderCustom:=1, MatchCase:=False, Orientation:= _
xlTopToBottom, DataOption1:=xlSortTextAsNumbers, _
DataOption2:=xlSortNormal, DataOption3:=xlSortTextAsNumbers
End With
End Sub