Bereiche abhängig vom Datum sortiern

Bild

Betrifft: Bereiche abhängig vom Datum sortiern
von: Tim
Geschrieben am: 19.06.2015 08:32:27

Hallo zusammen,
folgendes Problem liegt mir derzeit vor:
Ich habe ein Tabellenblatt mit einigen Bereichen (A6:H17, A19:H30, usw.; keine Tabelle), welche auch immer gleich gestaltet sind, die ich chronologisch per Makro nach Datum sortieren möchte.
Leider weiß ich nicht wie ich die einzelnen Bereiche ansprechen kann bzw. wie ich die Zelle mit Datum mit dem restlichen Bereich verknüpfen kann, so dass sich der "gesamte Bereich" mit sortiert.
Hier der Link zur Datei: https://www.herber.de/bbs/user/98299.xlsm
Ich bin euch für jeden Rat / jede Lösung dankbar!
Vielen Dank im Voraus und viele Grüße!

Bild

Betrifft: AW: Bereiche abhängig vom Datum sortiern
von: JoWE
Geschrieben am: 19.06.2015 09:08:54
Hallo Tim,
definiere jeweils Namen für Deine Bereiche.
Per Makro kannst Du Bereiche sortieren,
z.B. für einen benannten Bereich namens mBereich (Tabelle1!A6:H19) so:

Sub sortRange()
With Application.Range("mBereich")
       .Sort Key1:=.Cells(1, 1), Order1:=xlAscending, Header:=xlGuess, _
          OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
          DataOption1:=xlSortNormal
    End With
End Sub
Gruß
Jochen

Bild

Betrifft: AW: Bereiche abhängig vom Datum sortiern
von: Tim
Geschrieben am: 19.06.2015 11:31:27
Hallo Jochen,
danke erstmal für deine Antwort. Problem ist wenn ich mehrere Bereiche ausgewählt habe und diese über das Makro sortieren möchte (nach Datum) erscheint eine Fehlermeldung das dies nicht möglich sei bei einer zusammenhängenden Mehrfachmarkierung.
Viele Grüße.

Bild

Betrifft: AW: Bereiche abhängig vom Datum sortiern
von: JoWE
Geschrieben am: 19.06.2015 12:32:26
Hi Tim,
die einzeln benannten Bereiche (mBereich1, mBereich2, mBereich3 usw.) kannst Du in einem Makro sortieren lassen.

Sub sortRanges()
    With Application.Range("mBereich1")
        .Sort Key1:=.Cells(1, 1), Order1:=xlAscending, Header:=xlGuess, _
            OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
            DataOption1:=xlSortNormal
    End With
    With Application.Range("mBereich2")
        .Sort Key1:=.Cells(1, 1), Order1:=xlAscending, Header:=xlGuess, _
            OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
            DataOption1:=xlSortNormal
    End With
    With Application.Range("mBereich3")
        .Sort Key1:=.Cells(1, 1), Order1:=xlAscending, Header:=xlGuess, _
            OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
            DataOption1:=xlSortNormal
    End With
End Sub


 Bild

Beiträge aus den Excel-Beispielen zum Thema "Bereiche abhängig vom Datum sortiern"